У меня есть относительно небольшая программа на Python, которую я хочу преобразовать в исполняемый файл Windows. Первоначально он был написан с Pycharm и работает в нем нормально.
Он состоит из двух .py файлов, которые я написал, и некоторых библиотек (все установлены из pip).
Я пытаюсь выполнить свою работу с помощью cx_Freeze, но без особого успеха.
Мой setup.py такой:
from cx_Freeze import setup, Executable
import os.path
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')
setup(name="MFS-printer",
version='1.0.0',
description='A parser for the log file from the terminal exit of the mfs system',
options={"build_exe": {"packages": ["file_read_backwards", "Pil", "watchdog", "win32print", "win32ui", "tkinter", "log_parser"],
"include_files": ["Roboto-Bold.ttf", "mfs_robot(2).png", os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'), os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'),]
}
},
executables = [Executable("main.py"), Executable("log_parser.py")], requires=['watchdog']
)
После запуска python setup.py build для создания приложения windows ошибок не возникает, но при попытке запустить приложение при запуске вылетает с этой ошибкой:
Мой импорт из этих двух файлов (main.py и log_parser.py) следующий:
main.py:
import os,time
import datetime
import log_parser
import win32print
from tkinter import filedialog
from tkinter import *
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from pathlib import Path
log_parser.py
import os
import win32print
import win32ui
from file_read_backwards import FileReadBackwards
from PIL import Image, ImageDraw, ImageFont, ImageWin
Возможно, что-то не так с setup.py, но я не могу найти что.
Любая помощь будет оценена.