【发布时间】:2014-10-21 16:26:24
【问题描述】:
我在使用 py2exe 制作 1 个文件包 (exe) 时遇到问题。当我运行程序时,我得到:
Traceback (most recent call last):
File "keys.py", line 3, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "gtk\__init__.pyo", line 30, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "gobject\__init__.pyo", line 26, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "glib\__init__.pyo", line 22, in <module>
File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading glib\_glib.pyd
我有 setup.py:
from distutils.core import setup
import py2exe, sys, os, gtk
sys.argv.append('py2exe')
setup(
options = {'py2exe': {
'includes': "cairo, pango, pangocairo, atk, gobject, gio",
'bundle_files': 1,
"excludes": "pywin, pywin.dialogs, pywin.dialogs.list, svn",
"packages": "email, encodings",
"dll_excludes": ["mswsock.dll, powrprof.dll, shfolder.dll, credui.dll, msvcp60.dll, secur32.dll"],
"optimize":2,
'compressed': True
}
},
windows=[{'script':'keys.py'}],
zipfile = None,
)
当我执行 bundle_file = 3 时,一切正常,但如果没有 MemoryLoadLibrary glib 失败,我无法让 bundle_file 1 或 2 正常工作。
我已经重新安装了python2.7,安装了pygtk all-in-one-bundle。完成了 pygtk 的擦除并尝试从独立设备中安装 PyCairo、PyGObject、Glade 和 PyGtk,但我仍然得到相同的 Import Error。
setup.py 如此之大,因为我阅读了很多关于其他类似但不是 glib 的 pyd 问题的信息,所以我只是在设置中添加了使其工作的所有建议。
有没有办法解决这个ImportError?我是不是做错了什么?
【问题讨论】:
标签: python windows python-2.7 py2exe