我選擇嘗試使用cx_freeze,它將我的簡單python 3.x鍵盤記錄轉換爲exe。我選擇cx_freeze,因爲py2exe只是Python 2.x我正在使用這個setup.py腳本編譯我的代碼。cx_freeze無法導入外部模塊
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)
你能顯示凍結你的應用程序的輸出嗎?另外,這些包裝在壓縮蛋中? cx_Freeze目前在查找壓縮雞蛋中的模塊時遇到困難,但我已經[請求](https://bitbucket.org/anthony_tuininga/cx_freeze/pull-request/38/finding-packages-inside-zip-files)到解決該問題。 –