当我运行Kivy应用程序时,它会提前终止。我遵循了Kivy网站上的安装说明。
主.py
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
import os
os.environ['KIVY_WINDOW'] = 'sdl2'
os.environ['KIVY_GL_BACKEND'] = 'angle_sdl2'
Builder.load_file('main.kv')
class MyLayout(Widget):
pass
class TheMonitorApp(App):
def build(self):
return MyLayout()
if __name__ == '__main__':
TheMonitorApp().run
main.kv
#:kivy 2.0.0
<MyLayout>
BoxLayout:
orientation: "vertical"
size: root.width, root.height
Label:
text: "Monitor"
font_size: 32
终端
(kivy_venv) pi@raspberrypi:~/projects/HomeMonitor $ python main.py
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_21-11-03_19.txt
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "/home/pi/projects/HomeMonitor/kivy_venv/lib/python3.7/site-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at "/home/pi/projects/HomeMonitor/kivy_venv/bin/python"
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [ImageLoaderFFPy] Using ffpyplayer 4.3.2
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_ffpyplayer
(kivy_venv) pi@raspberrypi:~/projects/HomeMonitor $
注意终端输出停止在"0";[INF][Image]";,为什么它停在这里?它仍然需要达到";窗口";以及";GL";。
此外,如果我删除这些行,没有任何变化:
import os
os.environ['KIVY_WINDOW'] = 'sdl2'
os.environ['KIVY_GL_BACKEND'] = 'angle_sdl2'
检查:https://kivy.org/doc/stable/gettingstarted/installation.html#installation-规范
安装依赖项:"对于Raspberry Pi,在安装上面的Kivy之前,您必须另外安装源依赖项中列出的依赖项">
安装kivy:python-m pip install kivy〔base〕kivy_examples