我想从我的python项目中创建一个.exe文件,我已经在tkinter中创建了一个GUI。该项目有多个文件,并使用各种库。
我试着使用auto to -exe,但是它给出了关于tkinter使用的各种错误,说它找不到tkinter。我不理解这个错误,因为tkinter是与python一起自动安装的?是否有更好的方法使用自动project或更好的程序将洞项目转换为.exe?我也尝试了pyinstaller,但当打开程序时,它立即再次关闭。这个程序确实运行正常。
错误是I\output\main_init_.py", line 1, in <module> import tkinter ModuleNotFoundError: No module named 'tkinter'
发布于 2022-12-01 18:28:22
我个人用CX-冻结来编译我的可执行文件。我可能已经使用了100多个工具更新,通常情况下,我遇到的问题要么是需要在setup.py文件中识别丢失的文件,要么是当它编译Tkinter文件夹时使用大写T而不是小写t,所以在我编译应用程序之后,我必须手动更新文件夹为小写T。
下面是安装文件的一个示例。
如下面所示,在编译tkinter时,需要标识TK和TCL库文件夹,以便正确编译列出的DLL文件。
from cx_Freeze import setup, Executable
import os
base = "Win32GUI"
os.environ['TCL_LIBRARY'] = r'C:\Users\user\Desktop\Python381\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\user\Desktop\Python381\tcl\tk8.6'
build_exe_options = {'packages': ['os',
'json',
'http',
'email',
'pyodbc',
'openpyxl',
'calendar',
'threading',
'datetime',
'tkinter',
'tkinter.ttk',
'tkinter.messagebox'],
'excludes': ['PyQt5',
'PIL',
'numpy',
'pandas'], # 'urllib', # 'encodings', # 'numpy'
'include_files': [r'excel_temp.xlsx',
r'opt_3_excel_temp.xlsx',
r'tcoms_excel_temp.xlsx',
r'main_config.json',
r"C:\Users\user\Desktop\Python381\DLLs\tcl86t.dll",
r"C:\Users\user\Desktop\Python381\DLLs\tk86t.dll"]}
setup(
name='<GIT>',
options={'build_exe': build_exe_options},
version='0.57',
description='<GIT - Global Inventory Tool!>',
executables=[Executable(r'C:\Users\user\PycharmProjects\Py381_GIT\MAIN.py', base=base)]
)在运行编译器之后,您通常会得到如下所示的错误。

错误NoduleNotFoundError: No module named 'tkinter'是由于编译器给tkinter文件夹提供一个大写T的奇怪行为造成的,就像lib文件夹中的图像一样。


在这种情况下,您将把库更新为小写t。

如果你有任何问题,请告诉我。
https://stackoverflow.com/questions/74645760
复制相似问题