python - Kivy:为 Windows 打包应用程序时,Builder.load_file('*.kv') 抛出 FileNotFoundError
问题描述
我正在尝试为 Windows 打包我的应用程序,但在运行生成的 .exe 文件时我不断收到此错误。该文件确实存在于项目目录中,并且在直接运行 main.py 时可以正常工作。在我的 main.py 中,我调用了 Builder.load_file('home_screen.kv'),这似乎是引发错误的地方。
Traceback (most recent call last):
File "main.py", line 46, in <module>
File "site-packages\kivy\app.py", line 800, in run
File "main.py", line 10, in build
File "main.py", line 15, in __init__
File "site-packages\kivy\lang\builder.py", line 288, in load_file
FileNotFoundError: [Errno 2] No such file or directory: 'home_screen.kv'
[3208] Failed to execute script main
此问题并非特定于 home_screen.kv,因为即使我删除该行,下一行 Builder.load_file('create_schedule.kv') 也会引发相同的错误。
解决方案
在你的.spec
文件中添加一行Analysis
:
datas=[('*.kv', '.')],
这将包括home_screen.kv
(假设它与您的 位于同一目录中main.py
)。
推荐阅读
- for-loop - 为迭代简化 for 循环(使用 crate 弹奏)
- json - 在 Swift 中使用来自 json 的相同键解码字典
- python - django 基于类的视图如何知道哪个上下文意味着什么
- javascript - 在 Safari 中使用 gainNode 的 createPanner
- regex - jmeter如何复制重定向位置
- python - “SVC”对象没有属性“best_params_”
- jmeter - 具有 ActiveMQ 故障转移 URL 的 JMeter 发布者
- python - 序列化器字段可能命名不正确,并且与“Project”实例上的任何属性或键都不匹配
- angular - 使用 Validators.pattern(..) 使带有前导零的数字无效
- runtime - 如何将 WKExtendedRuntimeSession() 用于 watchkit 中的后台任务?