我有一个依赖于lxml的wxpython应用程序,并且在通过python解释器运行时效果很好。但是,当用py2exe创建exe时,出现此错误
ImportError: No module named _elementpath
然后,我使用了
python setup.py py2exe -p lxml
,但没有得到上述错误,但是另一句话
ImportError: No module named gzip
谁能让我知道问题出在哪里以及如何解决。我也应该放任何
我的dist文件夹中的libxml2,libxslt等dll文件?我搜寻了电脑
并且没有找到这些文件,所以也许不需要它们?
谢谢。
编辑:我只是尝试
python setup.py py2exe -p -i gzip
和exe被创建。但是生成的exe无法运行。我双击它,它什么也没做。这是我正在使用的setup.py脚本
from py2exe.build_exe import py2exe
from distutils.core import setup
setup( windows=[{"script": "gui.py"}] )
Edit2:我尝试使用cx_freeze作为替代,但得到了相同的结果
ImportError: No module named _elementpath
错误。在那之后不知道如何进行。
最佳答案
Py2exe允许您指定其他软件包/模块,以便在未自动检测到时将其添加到options
的setup()
参数中。以下应该工作:
from distutils.core import setup
import py2exe
setup(
windows=[{'script': 'gui.py'}],
options={
'py2exe':
{
'includes': ['lxml.etree', 'lxml._elementpath', 'gzip'],
}
}
)
我最近还发现了PyInstaller,它内置了对许多知名软件包(包括lxml)的支持,因此也值得一试。
关于python - Py2exe LXML麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5308760/