首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python项目创建一个可执行文件。

从python项目创建一个可执行文件。
EN

Stack Overflow用户
提问于 2022-12-01 17:18:07
回答 1查看 37关注 0票数 -2

我想从我的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'

EN

回答 1

Stack Overflow用户

发布于 2022-12-01 18:28:22

我个人用CX-冻结来编译我的可执行文件。我可能已经使用了100多个工具更新,通常情况下,我遇到的问题要么是需要在setup.py文件中识别丢失的文件,要么是当它编译Tkinter文件夹时使用大写T而不是小写t,所以在我编译应用程序之后,我必须手动更新文件夹为小写T。

下面是安装文件的一个示例。

如下面所示,在编译tkinter时,需要标识TK和TCL库文件夹,以便正确编译列出的DLL文件。

代码语言:javascript
复制
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

如果你有任何问题,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74645760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档