我一直在使用KivyPie OS(为Kivy开发预配置Linux)在Raspberry Pi上编写Kivy图形程序。
出于某种原因,如果以sudo启动它的运行速度非常慢。 通常,运行“python main.py”,程序以每秒约30个周期运行。 但是,如果我执行“sudo python main.py”,它会以每5-10秒1个周期的速度运行。
我需要使用sudo来访问Raspberry的GPIO。 (除非我尝试其他方式来做,我看到人们讨论)。
但是,我很感兴趣,这可能是sudo如此大规模性能下降的原因?是否有可能解决这个问题?PS:使用和不使用sudo在我的PC(Linux)上运行相同的程序似乎不会导致这样的问题。仅限Raspberry。
答案 0 :(得分:1)
问题是Kivy正在为root用户使用替代config.ini文件,而不是~/.kivy/config.ini
中使用的文件。
在python文件的顶部,您可以添加以下内容以强制它使用
egl_rpi
窗口:
import os
os.environ['KIVY_WINDOW'] = 'egl_rpi'
或者,您可以使用以下命令将ini文件复制到根目录:
sudo cp ~/.kivy/config.ini /root/.kivy/config.ini
答案 1 :(得分:0)
好吧,即使还有一些问题,我也会把这个问题解决。
以下是要点:
总结一下,找到了初始问题的原因,还没有找到直接用Python启动程序的修复程序,但是通过使用Pyinstaller编译程序来解决问题。 (仍然不是一种方便的调试方式。)