使用lxml etree导入py2exe时出错

时间:2013-06-06 19:27:10

标签: python lxml

如何让py2exe在lxml文件夹中导入我的etree.pyd?

当我这样做时

includes = ['lxml.etree']

我收到错误:importerror no module named lxml.etree。如果我进入python控制台并输入

from lxml import etree
import lxml
lxml.etree

两者都很好。我做错了什么?

1 个答案:

答案 0 :(得分:0)

你真的不应该明白这一点;模块查找器应该找到依赖项并自动添加它 - 如果没有,并且你不知道这是一个很好的理由,你应该调试它(使用文档中描述的py2exe.mf)第一

但是如果你确实需要这个,那么你需要整个lxml包,而不仅仅是lxml.etree。所以,只需替换:

includes = ['lxml.etree']

... with:

packages = ['lxml']

或者,如果您只想包含软件包的顶层和etree子包 - 我不确定它是否真的有效(无论是在设置时还是在运行时),但它可能:

includes = ['lxml', 'lxml.etree']