我在使用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,但我仍然得到相同的Import Error
。
setup.py
是如此之大,因为我读了很多关于其他pyd问题的内容,但是没有使用glib,所以我只是在设置中添加了一些建议来使其工作。
有没有办法解决这个ImportError
?我做错了吗?
答案 0 :(得分:-1)
python是一种基于解释器的语言,因此它只将所有变量和临时内存需求保存在ram内存中。尝试使用具有更高内存的其他系统,或者可以使用任务管理器关闭不需要的后台进程。