我在使用 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
时,一切正常,但我无法获得 bundle_file
1 或 2 在没有 MemoryLoadLibrary
的情况下工作> 油嘴滑舌的失败。
我重装了python2.7,安装了pygtk all-in-one-bundle。删除 pygtk 并尝试从独立安装 PyCairo、PyGObject、Glade 和 PyGtk,但我仍然遇到相同的导入错误
。
setup.py
如此之大,因为我读了很多关于其他类似但不是 glib 的 pyd 问题,所以我只是将所有建议添加到设置中以使其工作。
有没有办法修复这个ImportError
?我做错了什么吗?
最佳答案
python 是一种基于解释器的语言,因此它只将所有变量和临时内存要求保存在 ram 内存中。在另一个具有更高内存的系统中尝试,或者您可以使用任务管理器关闭不需要的后台进程。
关于Python py2exe 导入错误 : MemoryLoadLibrary failed loading glib\_glib. pyd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25538113/