我想学习Python,因为它看起来不错,我想和GTK一起工作。我以前的编程经验是Java和C#,在处理错误方面几乎不会感到痛苦。但是我遇到pythons py2exe的问题,并了解如何调试此问题。根据我的理解,它可能是与版本类型和文件位置有关的设置错误,而不是代码。
我正在运行
所有超链接都可以在http://pastebin.com/MNGPQVMP看到。这是因为Stackoverflow只允许我发布2个链接,但我有很多信息!
我的问题是python执行我的基本代码没问题,但是发生了使用py2exe错误。
产生错误我跑
python setup.py py2exe
在列表中有python文件,exe错误日志和控制台输出
我跑了一些额外的信息
python -m py2exe.mf -d PyApp.py
python -m py2exe.mf -d setup.py
两个命令的输出列在下面
PyApp.py模块升级的gio错误指向\ Python27 \ lib \ site-packages \ gtk-2.0 \ glib \ _ init _。py此文件包含
enter from glib._glib import *
_PyGLib_API = _glib._PyGLib_API
del _glib here
所以看起来有些东西可能会丢失。但是我不太确定
那么如何解决此导入错误?
另外作为附注,Dependency Walker也表示缺少2个Windows dll。 http://localhostr.com/files/Gf1mXT3/Dependency_Walker..png 我有DLL,但它们是64位而不是32位,如果我将它们放在目录中,那么Dependency Walker会标记64位错误,但此刻它显然不是问题。
这是一个受欢迎的问题,但我似乎无法解决如何使用我所获得的信息来修复它。
答案 0 :(得分:1)
很容易修复!在你的setup.py文件中,你应该有这样的行:
options = {
'py2exe': {
'packages':'encodings',
'includes': '<module names>',
}
},
要修复错误,只需将“gio”添加到“包含”列表中,如下所示:
options = {
'py2exe': {
'packages':'encodings',
'includes': 'gio',
}
},
我有一个用pyGTK构建的程序,所以我需要导入一些模块。仅供参考,该代码看起来像我的:
options = {
'py2exe': {
'packages':'encodings',
'includes': 'cairo, pango, pangocairo, atk, gobject, gio, subprocess',
}
},