2

単純な 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)
4

2 に答える 2