Невозможно импортировать модуль

Я хотел бы изучить Python, так как он выглядит красиво, и я хочу работать с GTK. Мой предыдущий опыт программирования - это Java и C #, которые не мешают устранять ошибки. Однако у меня проблемы с pythons py2exe, и я понимаю, как отлаживать эту проблему. Насколько я понимаю, это, вероятно, ошибка установки, связанная с типами версий и местоположениями файлов, а не с кодом.

я бегу

  • Windows 7 64 бит
  • Python версии 2.7.2 - 32 бит
  • pygtk-все-в-одном-2.24.0.win32-py2.7
  • py2exe-0.6.9.win32-py2.7

Все гиперссылки можно увидеть на http://pastebin.com/MNGPQVMP Это связано с тем, что Stackoverflow разрешает только мне разместить 2 ссылки, но у меня много информации!

Моя проблема в том, что python отлично выполняет мой базовый код без проблем, однако при использовании py2exe возникают ошибки.

Чтобы произвести ошибку, я запустил

python setup.py py2exe

В списке находятся оба файла python, журнал ошибок exe и вывод консоли.

  • PyApp.py> См. Основную ссылку
  • setup.py> См. основную ссылку
  • PyApp.exe.log> См. Основную ссылку
  • Вывод в консоль запуска py2exe> См. Основную ссылку

Для дополнительной информации я побежал

python -m py2exe.mf -d PyApp.py 
python -m py2exe.mf -d setup.py

Вывод обеих команд приведен ниже.

  • python -m py2exe.mf -d PyApp.py> См. основную ссылку
  • python -m py2exe.mf -d setup.py> См. основную ссылку

из того, что я могу понять из журнала ошибок exe и вывода консоли, он не может импортировать gio (это часть glib?). И дополнительные списки модулей указывают на другие ошибки.

Ошибка gio из модуля lising PyApp.py указывает на \ Python27 \ lib \ site-packages \ gtk-2.0 \ glib \ _ init _.py Этот файл содержит

enter from glib._glib import *
_PyGLib_API = _glib._PyGLib_API
del _glib here

Похоже, чего-то не хватает. Однако я не уверен

Итак, как мне исправить эту ошибку импорта?

Также в качестве примечания, Dependency Walker также заявляет, что отсутствуют 2 библиотеки DLL Windows. http://localhostr.com/files/Gf1mXT3/Dependency_Walker..png У меня есть однако библиотеки DLL являются 64-битными, а не 32-битными, и если я помещаю их в каталог, Dependency Walker отмечает 64-битную ошибку, но на данный момент это явно не проблема.

Это популярная проблема, но я не могу понять, как ее исправить с помощью имеющейся у меня информации.


person NiffyShibby    schedule 07.07.2011    source источник


Ответы (1)


Очень просто исправить! В вашем файле setup.py должна быть такая строка:

options = {
                  'py2exe': {
                      'packages':'encodings',
                      'includes': '<module names>',
                  }
              },

Чтобы исправить ошибку, просто добавьте gio в список "включает", например:

options = {
                  'py2exe': {
                      'packages':'encodings',
                      'includes': 'gio',
                  }
              },

У меня есть программа, встроенная в pyGTK, поэтому мне нужно импортировать несколько модулей. Для справки, у меня этот код выглядит ЭТО:

options = {
                  'py2exe': {
                      'packages':'encodings',
                      'includes': 'cairo, pango, pangocairo, atk, gobject, gio, subprocess',
                  }
              },
person CodeMouse92    schedule 13.08.2011