Python Py2exe lxml的困境
我有一个wxpython应用程序,它依赖于lxml,并且在通过python解释器运行时工作良好。但是,当使用py2exe创建exe时,我遇到了这个错误Python Py2exe lxml的困境,python,wxpython,lxml,py2exe,Python,Wxpython,Lxml,Py2exe,我有一个wxpython应用程序,它依赖于lxml,并且在通过python解释器运行时工作良好。但是,当使用py2exe创建exe时,我遇到了这个错误 ImportError: No module named _elementpath 然后我使用了python setup.py py2exe-p lxml,但没有得到上面的错误 另一种说法是 ImportError: No module named gzip 谁能告诉我问题是什么以及我如何解决它。我还应该放一些吗 像libxml2、libxs
ImportError: No module named _elementpath
然后我使用了python setup.py py2exe-p lxml
,但没有得到上面的错误
另一种说法是
ImportError: No module named gzip
谁能告诉我问题是什么以及我如何解决它。我还应该放一些吗
像libxml2、libxslt等dll文件在我的dist文件夹中?我搜索了一下电脑
没有找到这些文件,所以可能不需要它们
谢谢
编辑:我刚刚尝试了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允许您在
设置()的选项中指定要包含的其他包/模块,以防它们未被自动检测到。以下方面应起作用:
from distutils.core import setup
import py2exe
setup(
windows=[{'script': 'gui.py'}],
options={
'py2exe':
{
'includes': ['lxml.etree', 'lxml._elementpath', 'gzip'],
}
}
)
我最近还发现,它内置了对许多著名软件包的支持,包括lxml,因此可能也值得一试。有时在修改setup.py
文件后,您需要执行更多的其他操作
如上所述,
如果安装在“eggs”存档中,则有必要卸载该软件包。
然后通过强制easy_install使用“-Z”选项对归档文件进行dezip,再次安装它,如下所示(我遇到了paramiko软件包的问题):
如果要将其创建为单个可执行文件(无需额外的pyc、dll等),可以按如下方式使用:来自distutils.core导入设置;导入py2exe,sys;sys.argv.append('py2exe');安装程序(windows=[{'script':'your_script.py'}],zipfile=None,options={'py2exe':{'bundle_files':1,'compressed':True,'includes':['lxml.etree','lxml.\u elementpath','gzip'],})代码>
pip uninstall paramiko
easy_install -Z paramiko