我正在尝试构建项目的可执行文件(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']
}}
对此,我们将提供任何帮助。谢谢!
答案 0 :(得分:0)
鉴于您共享的信息,似乎排除distutils可能会走错方向。错误(警告)指出该distutils package at %s appears to be in the same location as the system distutils
。
尝试使用所需的库创建全新的虚拟环境,然后重新构建。