我正在尝试使用 cx_freeze 从 python3 脚本在 Windows 7 上创建一个 .exe。该脚本涉及使用 pywin32 来操作 Excel 文件。我可以从我的 setup.py 文件成功构建 .exe;但是,当我运行 .exe 时,会引发以下错误:
回溯(最近一次通话最后):
文件“C:\Python33\lib\site-packages\cx_Freeze\initscripts\Console3.py”,第 27 行,在 exec(code,m_ dict _)
<module> 中的文件“MyScript.py”,第 12 行
_find_and_load 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 1558 行
_find_and_load_unlocked 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 1505 行
_call_with_frames_removed 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 313 行
_find_and_load 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 1558 行
_find_and_load_unlocked 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 1525 行
文件“C:\Python33\lib\site-packages\win32com__init__.py”,第 6 行,在 <模块>
导入pythoncom
_find_and_load 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 1558 行
_find_and_load_unlocked 中的文件“C:\Python\64-bit\3.3\lib\importlib_bootstrap.py”,第 1525 行
文件“C:\Python33\lib\site-packages\pythoncom.py”,第 3 行,在
pywintypes._import_pywin32_system_module_("pythoncom", globals())_import_pywin32_system_module_ 中的文件“C:\Python33\lib\site-packages\win32\lib\pywintypes.py”,第 61 行
raise ImportError("Module '%s' is not in freeze sys.path %s" % (modname, sys.path))
ImportError:模块“pythoncom”不在冻结的 sys.path 中
['C:\Python33\build\exe.win-amd64\3.3\MyScript.exe',
'C:\Python33\build\exe.win-amd64\3.3',
'C:\Python33\build\exe.win-amd64\3.3\MyScript.zip',
'C:\Python33\build\exe.win-amd64\3.3\library.zip']
这是我的 setup.py 文件当前的样子:
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == 'win32':
base = 'Win32GUI'
includes = []
packages = []
executables = [Executable('MyScript.py', base=base)]
include_files = ['MyFolder1/','MyFolder2/Spreadsheet.xls']
setup(name='My Script',
version='0.1',
description='My Script',
executables=executables,
options = {'build_exe': {'includes':includes,
'packages':packages,
'include_msvcr':True,
'include_files':include_files}})
到目前为止,我已经尝试在包含和包列表中列出“pythoncom”和“win32com”。任何帮助是极大的赞赏!