Как исправить ошибку при заморозке скрипта Python 3.7 с помощью cx_Freeze - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь создать автономный исполняемый файл с моим скриптом Python, используя cx_Freeze.Это ошибка, которую я получаю: error: [Errno 2] No such file or directory: 'C:\\Program Files\\Python37\\tcl\\tcl8.6'

Имеет ли это какое-либо отношение к использованию модуля, такого как PySimpleGUI?Я использую PySimpleGUI 3.1.2.

Как это исправить?

Вот мой код ( setup.py и Track_Companion.py ).

Note: Track_Companion.py is not yet finished.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018
  1. cx_Freeze пока не поддерживает Python 3.7, в нем есть ошибка. Исправление существует, но еще не выпущено, однако вы можете применить его вручную, см. В чем может быть причина фатальной ошибки Python: initfsencoding: невозможно загрузить кодек файловой системы? и Cx_freeze сбои Python3.7.0 . Или вы можете вернуться к Python 3.6, если это вариант для вас.
  2. Вы проверили, что C:\\Program Files\\Python37\\tcl\\tcl8.6 существует? В любом случае было бы лучше, чтобы ваш установочный скрипт динамически определял ваш каталог установки Python, используя PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__)), как это было сделано в в этом ответе .
  3. Вы должны указать cx_Freeze включить библиотеки DLL Tcl и Tk, используя опцию build_exe include_files, как это было сделано в тот же ответ ; если вы используете cx_Freeze 5.1.1 или 5.1.0, вам нужно сделать это немного по-другому, см. этот ответ .
0 голосов
/ 13 ноября 2018

Инструкции по созданию .EXE файлов из программ, использующих PySimpleGUI, можно найти в документации здесь .

Для создания .EXE:

pyinstaller -wF yoursourcefile.py

Я бы обновил ваш пакет PySimpleGUI перед тем, как сделать это.

...