Проблемы с Py2exe, Tkinter и файлом установки?

#python #user-interface #tkinter #inno-setup #py2exe

#питон #пользовательский интерфейс #tkinter #inno-настройка #py2exe

Вопрос:

Я только что закончил создание программы на python в версии 2.7 и преобразовал ее в .exe with py2exe .

Все работает нормально, когда я запускаю преобразованный исполняемый файл в папке, в которую я его поместил, со всеми содержащимися в нем изображениями. После преобразования программы на Python .exe я приступил к созданию setup файла для нее. Я добавил все файлы, связанные с моим проектом, в том числе tkinter в setup файл. Я добавил почти все, что позволяло мне запускать исполняемый файл.

Как только я закончил создавать setup файл, я открыл его. Я просмотрел все , закончил установку в своей системе и создал ярлык на своем Desktop компьютере. Когда я попытался открыть его, это не сработало. Вместо того чтобы запускать программу, он говорит мне открыть файл журнала в его папке в Program Files. Когда я открываю файл журнала, я заметил ошибку. Как мне это исправить?

Ошибка:

 Traceback (most recent call last):
      File "gui.py", line 10, in <module>
      File "Tkinter.pyc", line 1764, in __init__
    _tkinter.TclError: Can't find a usable init.tcl in the following directories: 
    {C:/Program Files (x86)/lib/tcl8.5} {C:/Program Files (x86)/lib/tcl8.5} C:/lib/tcl8.5         {C:/Program Files (x86)/library} C:/library C:/tcl8.5.15/library C:/tcl8.5.15/library
 

Вероятно, это означает, что Tcl не был установлен должным образом.

Комментарии:

1. У меня была такая же проблема. В конечном итоге мне пришлось переключиться на PyInstaller

Ответ №1:

Я обнаружил ошибку на сайте virutalenv, в которой предлагалось следующее https://github.com/pypa/virtualenv/issues/93

Я полагаю, что вы сталкиваетесь с той же проблемой, только без virtualenv ниже указаны правильные пути, которые затем могут быть включены в приложение пожалуйста, найдите правильный путь к TCL и TK для вашей версии python

 set "TCL_LIBRARY=C:Python27tcltcl8.5" 
set "TK_LIBRARY=C:Python27tcltk8.5" 
 

перезапустите cmd или оболочку

Я считаю, что расположение TCL изменилось по сравнению с тем, что указано по умолчанию.