问题:执行 pyinstaller 打包之后 的exe 文件时,提示以下信息
Traceback (most recent call last):
File "xxx.py", line 6, in <module>
ModuleNotFoundError: No module named 'tkinter'
[18720] Failed to execute script 'xxx' due to unhandled exception!
使用 PyInstaller将 Python 脚本打包成 exe 文件时,tkinter 模块没有被正确包含进去。tkinter 是一个图形用户界面库,通常在标准的 Python 安装中是可用的,但在打包成 exe 的过程中可能需要特别处理。
使用 PyInstaller 的其他命令均未解决(路过的大佬,有用PyInstaller 命令打包成功的,可以留言告诉我哦),换成 cx_Freeze 工具
步骤:
1.安装 cx_Freeze
pip install cx_Freeze
2.创建 setup.py 文件:
# setup.py
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["tkinter"], "include_files": []}
setup(
name="xxx",
version="0.1",
description="描述信息",
options={"build_exe": build_exe_options},
executables=[Executable("xxx.py", base=None)],
)
3.运行 cx_Freeze:
python setup.py build
4.找到打包好的可执行文件(以下是目录结构):
your_project/
├── build/
│ └── exe.win-amd64-3.10/
│ └── xxx.exe
├── xxx.py
└── setup.py
5.执行已打包的可执行文件