使用Python解释器它工作正常,图像加载和main.py运行没有问题,但是当我使用Pyinstaller将其生成一个文件.exe时,.exe崩溃并显示以下错误消息。
FileNotFoundError: 'themes.json' resource not found in 'ttkboostrap'
任何帮助将不胜感激。
有同样的问题。
前往
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
。
在您的.spec 文件中进行如下更改
datas=[('venv\Lib\site-packages tkbootstrap', 'ttkbootstrap')],
hiddenimports=['ttkbootstrap']
重要 - 检查 venv\Lib\site-packages 中可用的 ttkbootstrap 文件夹
然后运行 pyinstaller -F your.spec
我遇到了同样的问题。
尝试使用旧版本的 ttkbootstrap。版本“0.5.2”适用于我的情况。
无需更改 .spec 文件,只需添加以下命令:
pyinstaller --onefile --windowed main.py --collect-all ttkbootstrap
好的。我使用 pyinstaller 玩了几分钟,然后 能够让它发挥作用。您需要添加 --collect-all ttkbootstrap
您可以在此处阅读有关此选项的更多信息: https://pyinstaller.readthedocs.io/en/stable/usage.html
本质上,您需要使用 pyinstaller 或 py2exe 做的是 确保它正在导入所有必需的文件。这可以是 完成的方式有多种,具体取决于您如何构建您的 可执行的。我不确定下面的方法是否是最有效的, 但它确实有效。
C:\\> pyinstaller yourprogram.py --collect-all ttkbootstrap
我在这里看到了这个,这对我有用!