我一直在用KivyPie操作系统(Linux预配置用于Kivy开发)在Raspberry上编写一个Kivy图形程序。
出于某种原因,如果从sudo开始,它运行得非常慢。通常,在运行"python main.py“时,程序以每秒大约30个周期的速度运行。然而,如果我做了"sudo main.py",它的运行速度就像每5-10秒一个周期一样慢。
我需要使用sudo来访问Raspberry的GPIO。(除非我尝试其他方法去做,否则我会看到人们在讨论)。
不过,我感兴趣的是,是什么原因导致sudo出现如此大的性能下降?有可能解决这个问题吗?
PS:在我的PC (Linux)上运行同样的程序,不管有没有sudo,似乎都不会造成这样的问题。只吃覆盆子。
发布于 2015-08-06 17:08:18
嗯,我认为这个问题解决了,即使还有几个问题。
以下是要点:
总之,已经找到了最初问题的原因,还没有找到用Python直接启动程序的修复方法,但是通过用Pyinstaller编译程序来消除这个问题。(不过,这并不是一种方便的调试方法。)
发布于 2017-02-13 02:35:36
问题是Kivy正在为根用户使用替代的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
https://stackoverflow.com/questions/31786122
复制相似问题