我有tkinter
个应用,我通过.exe
汇总到py2exe
。
在设置文件中,我将其设置为包含lxml
,urllib
,lxml.html
,ast
和math
。
当我在CMD控制台中运行python setup.py py2exe
时,它编译得很好。然后我转到它创建的dist
文件夹,并运行.exe
文件。
当我运行.exe
时,我会看到此弹出窗口。this http://gyazo.com/02fc6000c94c165a696d5072738c676d.png
然后我继续打开Trader.exe.log
文件,内容说明如下;
Traceback (most recent call last):
File "Trader.py", line 1, in <module>
File "lxml\html\__init__.pyc", line 42, in <module>
File "lxml\etree.pyc", line 12, in <module>
File "lxml\etree.pyc", line 10, in __load
File "lxml.etree.pyx", line 84, in init lxml.etree (src\lxml\lxml.etree.c:190292)
ImportError: cannot import name _elementpath
包含here是我的setup.py
文件的副本。
请帮我在这里找到问题。提前谢谢。
答案 0 :(得分:4)
看起来py2exe
没有意识到它应该包含lxml._elementpath
模块,该模块由lxml.etree
有条件地导入。您可以告诉它使用includes
中的setup.py
关键字参数明确包含该模块。
setup(
options={'py2exe': {"includes": ["lxml._elementpath"]}}
)
答案 1 :(得分:1)
Py2exe在此页面上记录了此错误:http://www.py2exe.org/index.cgi/WorkingWithVariousPackagesAndModules
他们也提供了一个有效的解决方案。