Python Py2exe lxml的困境

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

我有一个wxpython应用程序,它依赖于lxml,并且在通过python解释器运行时工作良好。但是,当使用py2exe创建exe时,我遇到了这个错误

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