py2exe 找不到模块
我有一个用Python写的项目,这个项目里面有很多模块和文件夹。要运行的主程序是test_main.py:
import PSI_Core.benchManager as bm
import shutil
import os
manager = bm.benchManager();
我严格按照py2exe的步骤来为这个项目创建一个exe文件。但是一旦exe文件创建出来并运行,就出现了错误:
ImportError: No module named PSI_Core.benchManager
有没有人有使用py2exe的经验?成功过吗?
2 个回答
1
我对py2exe有一些经验,但大部分时间我都在找不到合适的解决办法,只能使用一些变通的方法和补丁。不过,你的问题很可能相对简单。如果py2exe找不到某个模块,我建议你用设置脚本手动把这个模块加进去。下面是一个应该是什么样子的例子:
setup(
options = {'py2exe': {'includes': "PSI_Core"}},
windows = [{'script': "test_main.py"}]
)
3
我知道这不是直接的答案,但我花了半个小时试图让py2exe工作,结果放弃了,转而尝试了cx_Freeze,效果非常好:
http://cx-freeze.sourceforge.net/cx_Freeze.html
不到五分钟,我就得到了一个闪亮的可执行文件在等着我 :-)