Я пытаюсь создать исполняемый файл windows (.exe) с python3 .7.6 cx_freeze. Я удалил свое имя пользователя и python имя скрипта из следующего кода.
#!/usr/bin/env python3
import sys, os
from cx_Freeze import setup, Executable
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ["TCL_LIBRARY"] = os.path.join(PYTHON_INSTALL_DIR, r"tcl", r"tcl8.6")
os.environ["TK_LIBRARY"] = os.path.join(PYTHON_INSTALL_DIR, r"tcl", r"tk8.6")
#includes = []
include_files = [r'C:\Users\<username>\AppData\Local\Programs\Python\Python37\DLLs\tcl86t.dll',
r'C:\Users\<username>\AppData\Local\Programs\Python\Python37\DLLs\tk86t.dll']
build_options = {"packages": ["os","pandas","numpy","openpyxl","re","sys","easygui","pyexcel",
"string", "utils","tkinter",
r'C:\\Users\\<username>\\AppData\\Local\\Programs\\Python\\Python37\\lib\\tkinter'],"includes":
[r'C:\\Users\\<username>\\AppData\\Local\\Programs\\Python\\Python37\\lib\\tkinter'], 'include_files':
include_files}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(name="Extract from <script_name>",version="1.0",options ={'build_exe':
build_options},description="Extracts information from <script_name>",executables=
[Executable("<script_name>", base = base)])
После сборки мне выдают следующие ошибки:
Сценарий setup.py основан на:
cx_freeze Tkinter 'Модуль не найден'
При использовании cx_Freeze и tkinter я получаю: «Ошибка загрузки DLL: указанный модуль не найден». (Python 3.5.3)
Как включить tkinter при использовании cx_freeze для преобразования скрипта в .exe?
Использование Easy Gui С помощью Cx_Freeze
Я попытался собрать с / без указания модулей, как в параметрах include / package, предоставляя файлы tkinter .dll, так и абсолютный путь к пакету tkinter.
Я также проверил документация cx_freeze:
https://cx-freeze.readthedocs.io/en/latest/index.html
В ответах на часто задаваемые вопросы упоминается следующее:
"Обнаружены модули, импортируемые вашим кодом , но если они загружаются динамически - например, с помощью системы плагинов - вы должны сообщить о них cx_Freeze. "
Если это именно тот случай и причина проблемы, как бы я go узнал о динамическом определении загруженные пакеты?
Любая помощь в решении этой проблемы будет принята с благодарностью.
Еще раз спасибо,
enzsio