Python 使用lxml etree导入py2exe时出错
如何使py2exe在lxml文件夹中导入我的etree.pyd 当我这样做的时候Python 使用lxml etree导入py2exe时出错,python,lxml,Python,Lxml,如何使py2exe在lxml文件夹中导入我的etree.pyd 当我这样做的时候 includes = ['lxml.etree'] 我得到错误:importerror没有名为lxml.etree的模块。如果我进入python控制台并键入 from lxml import etree import lxml lxml.etree 两者都很好用。我做错了什么?你真的不需要把这一点说清楚;模块查找器应该找到依赖项并自动添加,如果没有,并且您不知道这样做的原因,那么您应该首先调试它(使用文档中描述
includes = ['lxml.etree']
我得到错误:importerror没有名为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']
首先,为了避免这个愚蠢的错误(我经常犯):你确定你在控制台和
py2exe
运行中使用了相同的Python解释器和环境吗?其次,为什么你要显式地添加这个includes
?模块查找器是否没有自动找到它?