2014-08-27 8 views
4

У меня возникла проблема с созданием 1 файла (exe) с py2exe. Когда я запускаю программу, я получаю:Python py2exe ImportError: MemoryLoadLibrary не удалось загрузить glib _glib.pyd

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. Сделал вытирание пигтки и попытался установить PyCairo, PyGObject, Glade и PyGtk из стенда, но все же я получаю то же самое Import Error.

setup.py настолько большой, потому что я так много читал о других проблемах с pyd, но не с glib, поэтому я просто добавлял в настройку каждый совет, чтобы заставить его работать.

Есть ли способ исправить это ImportError? Я делаю что-то неправильно?

ответ

-1

python - язык на основе интерпретатора, поэтому он сохраняет все переменные и временные требования к памяти только в памяти RAM. Попробуйте в другой системе с более высокой памятью, или вы можете закрыть нежелательный фоновый процесс с помощью диспетчера задач.

Смежные вопросы