ttkbootstrap 无法与 pyinstaller 一起使用

问题描述 投票:0回答:5

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

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

任何帮助将不胜感激。

tkinter pyinstaller ttkbootstrap
5个回答
3
投票

有同样的问题。

前往

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

然后用

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

您可能不需要

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

完成后,在提升的命令提示符下运行

pyinstaller main.spec


2
投票

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

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

hiddenimports=['ttkbootstrap']

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

然后运行 pyinstaller -F your.spec


0
投票

我遇到了同样的问题。

尝试使用旧版本的 ttkbootstrap。版本“0.5.2”适用于我的情况。


0
投票

无需更改 .spec 文件,只需添加以下命令:

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

0
投票

好的。我使用 pyinstaller 玩了几分钟,然后 能够让它发挥作用。您需要添加 --collect-all ttkbootstrap

您可以在此处阅读有关此选项的更多信息: https://pyinstaller.readthedocs.io/en/stable/usage.html

本质上,您需要使用 pyinstaller 或 py2exe 做的是 确保它正在导入所有必需的文件。这可以是 完成的方式有多种,具体取决于您如何构建您的 可执行的。我不确定下面的方法是否是最有效的, 但它确实有效。

C:\\> pyinstaller yourprogram.py --collect-all ttkbootstrap

我在这里看到了这个,这对我有用!

https://github.com/israel-dryer/ttkbootstrap/issues/43

© www.soinside.com 2019 - 2024. All rights reserved.