使用 Py2Exe 时,我收到警告,例如
The following modules appear to be missing
['Crypto', 'Crypto.Cipher', 'Crypto.Hash', 'Padding']
由于找不到这些模块,导致 EXE 错误。我可以看到它们在我的站点包中,那么为什么它没有检测到它们呢?
注意:Crypto 和 Padding 是通过 pip/easy_install 安装的
首先,检查您的包是否为 .EGG 格式
Py2Exe 似乎对 Python 的 .egg 包有问题。通过提取 .egg 文件(重命名为 .zip 并提取到站点包中,不包括 EGG-INFO 文件夹),Py2Exe 现在可以毫无问题地检测这些包。
检查您的 setup.py 以确保您使用的是正确的选项。窗口应用程序使用“windows=”,而控制台应用程序使用“console=”
在其他一些情况下,可以通过使用setup(console=['main.py'])
代替setup(windows=['main.py'])
如果您正在生成窗口应用程序。
如果仍然不起作用,您可以尝试告诉 Py2Exe 手动包含该包
有些包可以通过将它们添加到 setup.py 的包选项中来进一步解决,如下所示:
setup(
windows=['main.py'],
options={
"py2exe":{
"packages": ["Crypto", "Padding"]
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)