繁体   English   中英

Python GUI 使用 Kivy。 运行.exe文件时无法保存数字

[英]Python GUI using Kivy. Cannot save figures when running .exe file

使用 Python 和 Kivy 我创建了一个接口。 当我在 Pycharm 中运行代码时,一切都很顺利,但是当我运行应用程序的 .exe 文件时,代码在保存一些数字之前就崩溃了。

在代码中,有时我会创建一些图形并将它们保存在项目所在的主文件夹 (/main) 内的一个文件夹 (/Results_plots) 中。 这些数字使用以下方法保存:

plt.savefig(f"Results_plots/Comparison/figure1")

我也试过没有成功:

basepath=os.path.abspath(str(f"Results_plots/Comparison"))

plt.figure(os.path.join(basepath, f"figure1"))

可能有帮助的额外信息:

  • 我使用以下方法创建了 exe 文件:
pyinstaller main_script.py

然后我修改.spec并运行“pyinstaller main_script.spec”

  • 项目的 main_script.py 与其他脚本互连,并从主文件夹内的其他文件夹中读取文件。 运行 .exe 文件时,这似乎可以正常工作

  • kivy 版本:v1.11.1

  • python 版本:Python 3.7.4

  • pyinstaller 版本:4.0

  • matplotlib 版本:3.1.3

我对此不是 100% 的,但 iOS 也有类似的问题。 诀窍是将您的照片保存在文件系统中,应用程序可以使用该文件系统来存储其他数据。

在 Windows 计算机上,此目录为%APPDATA%/<app_name>

值得庆幸的是,Kivy 背后的大脑已经创建了应用程序 class 的便捷属性,该属性返回一个名为user_data_dir的正确目录的路径。

将照片保存到App.user_data_dir解决了我的问题。 也许它会为你工作? 让我知道。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM