Python py2exe ImportError:MemoryLoadLibrary加载glib \ _glib.pyd失败

时间:2014-08-27 22:48:07

标签: python windows python-2.7 py2exe

我在使用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?我做错了吗?

1 个答案:

答案 0 :(得分:-1)

python是一种基于解释器的语言,因此它只将所有变量和临时内存需求保存在ram内存中。尝试使用具有更高内存的其他系统,或者可以使用任务管理器关闭不需要的后台进程。