如何让 py2exe 在 lxml 文件夹中导入我的 etree.pyd?
当我做
includes = ['lxml.etree']
我得到错误:importerror no module named lxml.etree
。如果我进入 python 控制台并输入
from lxml import etree
import lxml
lxml.etree
两者都工作得很好。我究竟做错了什么?
您真的不需要明确说明;模块查找器应该找到依赖项并自动添加它 - 如果没有,并且您不知道这样做的充分理由,您应该首先调试它(py2exe.mf
如文档中所述)。
但如果你确实需要这个,你将需要整个lxml
包,而不仅仅是lxml.etree
. 所以,只需更换:
includes = ['lxml.etree']
… 和:
packages = ['lxml']
或者,如果您只想包含包的顶层和etree
子包——我不确定这是否真的有效(在设置时或运行时),但它可能:
includes = ['lxml', 'lxml.etree']