py2exe在virtualenv中缺少distutils模块

时间:2018-10-25 20:07:03

标签: python pandas virtualenv py2exe distutils

我正在尝试构建项目的可执行文件(Python 2.7.5),但是在尝试运行可执行文件时出现以下错误。
   ERROR \ProjectPython\library.zip\distutils\__init__.py:14: UserWarning: The virtualenv distutils package at %s appears to be in the same location as the system distutils? Traceback (most recent call last): File "main.py", line 130, in <module> ... File "pandas\compat\__init__.pyo", line 32,in <module> File "zipextimporter.pyo", line 82, in load_module File "distutils\__init__.pyo", line 25, in <module> ERROR ImportError: cannot import name dist

在搜索了此问题的解决方案之后,我知道这一定是由于virtualenv中的distutils与Python安装Lib目录中的distutils不同。因此,我一直试图在virtualenv中排除/删除distutils,并在可执行文件构建期间添加我的原始解释器的distutils包。
该确切解决方案适用于cxfreeze,但找不到py2exe的替代解决方案。我的setup.py选项看起来像

distutils.core.setup(
    options = {"py2exe": {
        "compressed": 1,
        "optimize": 1,
        "bundle_files": 1,
        "packages": ['psycopg2', 'lxml', 'sqlalchemy', 'openpyxl', 'pandas', 'numpy']
    }}

对此,我们将提供任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

鉴于您共享的信息,似乎排除distutils可能会走错方向。错误(警告)指出该distutils package at %s appears to be in the same location as the system distutils

尝试使用所需的库创建全新的虚拟环境,然后重新构建。