ttkbootstrap 不能与 pyinstaller 一起工作

ttkbootstrap not working with pyinstaller

使用 Python 解释器工作正常,图像加载和 main.py 运行没有问题,但是当我使用 Pyinstaller 将它变成一个文件 .exe 时,.exe 崩溃并显示以下错误消息。

FileNotFoundError: 'themes.json' resource not found in 'ttkboostrap'

如有任何帮助,我们将不胜感激。

在your.spec文件中修改如下

数据=[('venv\Lib\site-packages\ttkbootstrap', 'ttkbootstrap')],

隐藏导入=['ttkbootstrap']

重要 - 请检查 venv\Lib\site-packages

中可用的 ttkbootstrap 文件夹

然后 运行 pyinstaller -F your.spec

有同样的问题。

前往 ttkbootstrap 的安装位置,将 themes.jsonSymbola.ttf(如果需要)复制到与 main.py 和 [=14= 相同的文件夹中].

然后将你的main.spec修改为a = Analysis()下的datas=[('themes.json', 'ttkbootstrap'), ('Symbola.ttf', 'ttkbootstrap')]

Symbola.ttf 可能不需要你,但我在将 themes.json 复制到文件夹后遇到了另一个 FileNotFoundError,这需要我也带过来 Symbola.ttf

完成后,运行 pyinstaller main.spec 在提升的命令提示符下。

我遇到了同样的问题。

尝试使用旧版本 ttkbootstrap.Version“0.5.2”在我的情况下有效。

在不更改 .spec 文件的情况下,只需添加此命令:

pyinstaller --onefile --windowed main.py --collect-all ttkbootstrap