ttkbootstrap 不适用于 pyinstaller

问题描述

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

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

真诚地感谢任何帮助。

解决方法

在您的.spec 文件中更改如下

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

hiddenimports=['ttkbootstrap']

重要 - 检查您的 venv\Lib\site-packages 中可用的 ttkbootstrap 文件夹

然后运行 pyinstaller -F your.spec

,

遇到了同样的问题。

转到安装 ttkbootstrap 的位置,将 themes.jsonSymbola.ttf(如果需要)复制到与 main.pymain.spec 相同的文件夹中。

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

您可能不需要

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

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