python - Py2exe lxml 问题

标签 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

谁能告诉我问题是什么以及如何解决它。我也应该放任何 我的 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 允许您在 setup()options 参数中指定要包含的其他包/模块,以防它们未被自动检测到。以下应该有效:

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/

相关文章:

python - 在 python 中存储 html

python - 在 pyspark 中将 RDD 转换为 Dataframe

python - 时间戳 python 中昨天的开始和结束时间

python - 将 for 循环转换为列表理解

python - 如何在 Python 中检查操作系统是否是 Vista?

python - Python 中的动态图表

python - 捕获输入按下事件

python - 具有多索引列的 Pandas groupby

python - 如何解析文件?

python - 将评估的 xpath 传递给扩展