Использование EasyGui с Cx_Freeze

Я создал этот вопрос по отношению к моему другому - Как включить модули в Cx_freeze, но решил, что это не совсем соответствует моему текущему вопросу.

Когда я замораживаю свою программу, которая использует easygui, я получаю целую кучу ошибок об отсутствующих модулях, да - установлен easygui Python32, и да - Easygui находится на сайте - пакеты,

Любая помощь будет оценена по достоинству, и, к вашему сведению, я использую базовый setup.py;)

from cx_Freeze import setup, Executable

setup(
        name = "GUIproject",
        version = "0.1",
        description = "Sample Test easygui",
        executables = [Executable("GUIproject.py")])

Отсутствующие модули, о которых он сообщает, включают PIL, StringIO, Tkinter и tkFileDialog.


person Joseph Smith    schedule 17.05.2012    source источник


Ответы (1)


Вероятно, это нормально - см. этот ответ о том, почему отсутствующие модули не являются проблемой.

В этом случае PIL является необязательным для Easygui, а остальные 3 являются именами Python 2. Вместо этого Easygui будет импортировать имена Python 3 (вы используете Python 3.2) — что-то вроде этого:

try:
    import tkinter  # Python 3
except ImportError:
    import Tkinter as tkinter  # Python 2

Таким образом, вы все равно должны получить выходной exe-файл - попробуйте запустить его и посмотрите, работает ли он.

person Thomas K    schedule 18.05.2012
comment
У меня есть папка сборки с .exe, однако, когда я пытаюсь ее запустить. он появляется с окном командной строки и ошибкой, которая очень быстро отключается, мне удалось понять, что он сказал целую кучу трассировок, но в последней строке он сказал, что это, вероятно, означает, что TCL не был установлен должным образом - что ТКЛ? О, и я попробовал этот фрагмент, и это сработало. - person Joseph Smith; 18.05.2012
comment
Tcl необходим для Tkinter, который easygui использует для создания интерфейса. При сборке вы получаете приложение командной строки, так что либо запускайте его из командной строки, либо устанавливайте base='Win32GUI', как в пример. - person Thomas K; 18.05.2012
comment
Спасибо, сейчас попробую. - person Joseph Smith; 20.05.2012
comment
Я все еще получаю много ошибок отсутствующих модулей снова. Запустил .exe, и я получил исходное исключение, нет модуля с именем tkinter, нужно ли мне устанавливать tkinter? - person Joseph Smith; 21.05.2012
comment
Могу ли я отправить вам сообщение об ошибке при запуске .exe? Я также удалил код excludes = ['tkinter' ]} Однако это дало мне сообщение об ошибке, которое я получил, когда попытался запустить .exe и открыл его с помощью командной строки. - person Joseph Smith; 21.05.2012
comment
О да, вы не хотите исключать tkinter, это очень важно ;-). Вы можете опубликовать сообщение об ошибке здесь (задать новый вопрос) или на cx_Freeze список рассылки. - person Thomas K; 21.05.2012
comment
Я удалил исключение, и когда я попытался запустить .exe, он выдал мне ошибку, которую я получил, когда я запустил .exe с исключением - TCL может быть установлен неправильно? Я в тупике -_- :P - person Joseph Smith; 22.05.2012
comment
Я тоже! У вас точно установлена ​​последняя выпущенная версия cx_Freeze, 4.2.3? Вы также можете попробовать версию для разработки, если хотите: bitbucket.org/anthony_tuininga/cx_freeze /get/default.zip - person Thomas K; 22.05.2012
comment
Возможно, он был обновлен с тех пор, как я последний раз использовал его, я попробую его сейчас;) - person Joseph Smith; 23.05.2012
comment
Скачал, как правильно установить? В прошлый раз, когда я использовал его, я получил .msi? - person Joseph Smith; 23.05.2012
comment
Да, это может стать немного сложным. Вам понадобится установить Visual Studio Express, чтобы вы могли скомпилировать его фрагменты. Вероятно, лучше всего, если вы опубликуете полную информацию об ошибке в списке рассылки cx_Freeze. Надеюсь, кто-то сможет дать вам более определенный ответ о том, было ли это исправлено. - person Thomas K; 23.05.2012
comment
Как попасть в список рассылки? Единственные ошибки, которые я получаю, - это отсутствие модулей - бла, бла, TCL установлен неправильно - person Joseph Smith; 24.05.2012
comment
Отсутствие модулей не обязательно является проблемой, но я ничего не знаю о Tcl. Список рассылки находится здесь: lists.sourceforge.net/lists/listinfo/cx- заморозить пользователей - person Thomas K; 25.05.2012
comment
Я отправил электронное письмо, однако оно было автоматически отклонено. Я не могу найти ничего в Интернете, может быть, просто придется отказаться от этого. - person Joseph Smith; 31.05.2012
comment
@Joseph: В нем должна быть указана причина отказа - вам, вероятно, придется подписаться на список рассылки перед публикацией (чтобы гарантировать, что любые ответы дойдут до вас). - person Thomas K; 31.05.2012
comment
Fair Point ;) Сейчас пойду зарегистрируюсь. - person Joseph Smith; 01.06.2012