Python Py2Exe“;缺少以下模块“;

Python Py2Exe“;缺少以下模块“;,python,py2exe,Python,Py2exe,当使用Py2Exe时,我会收到如下警告: The following modules appear to be missing ['Crypto', 'Crypto.Cipher', 'Crypto.Hash', 'Padding'] 由于找不到这些模块,导致EXE错误。我可以在我的网站包中看到它们,那么为什么它没有检测到它们呢 注意:加密和填充是通过pip/easy_安装安装的首先,检查您的软件包是否为.EGG格式 Py2Exe似乎与Python的.egg包有问题。通过提取.egg文件(重命

当使用Py2Exe时,我会收到如下警告:

The following modules appear to be missing
['Crypto', 'Crypto.Cipher', 'Crypto.Hash', 'Padding']
由于找不到这些模块,导致EXE错误。我可以在我的网站包中看到它们,那么为什么它没有检测到它们呢


注意:加密和填充是通过pip/easy_安装安装的

首先,检查您的软件包是否为.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"]
            }
    }