単純な python 3.x キーロガーを exe に変換する cx_freeze を使用することにしました。py2exe は python 2.x のみであるため、cx_freeze を選択します。この setup.py スクリプトを使用してコードをコンパイルしています。
from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])
base = 'Console'
executables = [
Executable('logger.py', base=base, targetName = 'logger.exe')
]
setup(name='PyLogger',
version = '0.1',
description = 'A Simple Keylogger',
options = dict(build_exe = buildOptions),
executables = executables)
そして私は自分のコードをコンパイルすると
try:
import pythoncom
except ImportError:
input("Import Error, pywin32 is not installed")
try:
import pyHook
except ImportError:
input("Import Error, pyHook is not installed")
pywin32 と pyHook の両方がインストールされていないというインポート エラーが表示されます。外部モジュールを cx_freeze にインポートする方法を教えてください。
編集 - setup.py を変更して includes オプションを追加しようとしましたが、違いはありませんでした。
from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = ['pyHook','pythoncom'],includes = ['pyHook','pythoncom'], excludes = [])
base = 'Console'
executables = [
Executable('logger.py', base=base, targetName = 'logger.exe')
]
setup(name='PyLogger',
version = '0.1',
description = 'A Simple Keylogger',
options = dict(build_exe = buildOptions),
executables = executables)