У меня есть проект в Python 3.4 и GTK + 3. Я нахожусь в Windows XP SP3 32-bit (VirtualBox).Не могу включить gi.repository.Gtk в py2exe
Мне нужно скомпилировать исполняемый файл с помощью py2exe. (НЕ предлагайте cx_freeze. Он имеет в десять раз больше проблем в этом проекте, чем py2exe).
My setup.py выглядит следующим образом.
#!/usr/bin/python
from setuptools import setup
import py2exe
setup(name="Redstring",
version="2.0",
description="REDundant STRING generator",
author="MousePaw Labs",
url="http://www.mousepawgames.com/",
maintainer_email="[email protected]",
data_files=[("", ["redstring.png", "redstring_interface.glade"])],
py_modules=["redstring"],
windows=[{'script':'redstring.py'}],
options={"py2exe":{
"unbuffered": True,
"compressed":True,
"bundle_files": 1,
'packages':['gi.repository'],
}},
zipfile=None
)
Когда я запускаю его через C:\Documents and Settings\Jason\Desktop\redstring2>python setup.py py2exe
, я получаю следующий результат (в полном объеме).
running py2exe
running build_py
1 missing Modules
------------------
? gi.repository.Gtk imported from __SCRIPT__
Building 'dist\redstring.exe'.
C:\Documents and Settings\Jason\Desktop\redstring2>
Реальный сценарий, redstring.py
, работает без заминки в моей среде Windows. В этом случае у меня есть следующая (рабочая) строка кода: from gi.repository import Gtk
Это ВСЕ, которые я импортирую из gi.repository во всем проекте.
Если я поменяю строку в файле setup.py на 'packages':['gi'],
, выход ошибки переключится на около 24-некоторых нечетных модулей, все из которых принадлежат gi.repository. Если я попытаюсь импортировать «Gtk» или «gi.repository.Gtk» в 'packages':
или 'includes':
, я получаю сообщение об ошибке, что импортируемый файл не может быть найден.
Сегодня я провел восемь часов на #python (канал IRC), и никто не смог это решить. На этой неделе мне понадобится пакет для двоичного кода Windows.
ПРИМЕЧАНИЕ: This question не является дубликатом; в то время как это аналогичная проблема, это а) не то же сообщение об ошибке, и б) ни один ответ не решает вопрос каким-либо образом.