Kivy(Python)程序在Raspberry Pi(crashlog)上崩溃

Kivy(Python)程序在Raspberry Pi(crashlog)上崩溃,python,raspberry-pi,kivy,Python,Raspberry Pi,Kivy,我最近按照Kivy网站上的说明,在Raspberry Pi上安装了Kivy(带有Raspbian系统) 我打算测试我写的一个程序。它在我的Linux Mint计算机上运行良好。然而,在Raspbian上,它崩溃了,出现了一个奇怪的错误,链接到Kivy自己的一个函数 以下是终端输出: $ python main.py [INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_15-01-10_6.txt [INFO ] Ki

我最近按照Kivy网站上的说明,在Raspberry Pi上安装了Kivy(带有Raspbian系统)

我打算测试我写的一个程序。它在我的Linux Mint计算机上运行良好。然而,在Raspbian上,它崩溃了,出现了一个奇怪的错误,链接到Kivy自己的一个函数

以下是终端输出:

$ python main.py
[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_15-01-10_6.txt
[INFO   ] Kivy v1.9.0-dev
[INFO   ] [Python      ] v2.7.3 (default, Mar 18 2014, 05:13:23) 
[GCC 4.6.3]
[INFO   ] [Factory     ] 173 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_pygame (img_pil, img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: egl_rpi
[INFO   ] [GL          ] OpenGL version <OpenGL ES 2.0>
[INFO   ] [GL          ] OpenGL vendor <Broadcom>
[INFO   ] [GL          ] OpenGL renderer <VideoCore IV HW>
[INFO   ] [GL          ] OpenGL parsed version: 2, 0
[INFO   ] [GL          ] Shading version <OpenGL ES GLSL ES 1.00>
[INFO   ] [GL          ] Texture max size <2048>
[INFO   ] [GL          ] Texture max units <8>
[INFO   ] [Shader      ] fragment shader: <Compiled>
[INFO   ] [Shader      ] vertex shader: <Compiled>
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event0
[INFO   ] [HIDInput    ] Read event from </dev/input/event0>
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event1
[INFO   ] [HIDInput    ] Read event from </dev/input/event1>
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event2
[INFO   ] [HIDInput    ] Read event from </dev/input/event2>
[INFO   ] [Base        ] Start application main loop
[INFO   ] [HIDMotionEvent] using <CHESEN USB Keyboard>
[INFO   ] [HIDMotionEvent] using <CHESEN USB Keyboard>
[INFO   ] [HIDMotionEvent] using <PixArt USB Optical Mouse>
[INFO   ] [Base        ] Leaving application in progress...
 Traceback (most recent call last):
   File "main.py", line 145, in <module>
     MainApp().run()
   File "/usr/local/lib/python2.7/dist-packages/kivy/app.py", line 825, in run
     runTouchApp()
   File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 484, in runTouchApp
     EventLoop.window.mainloop()
   File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 77, in mainloop
     self._mainloop()
   File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 72, in _mainloop
     EventLoop.idle()
   File "/usr/local/lib/python2.7/dist-packages/kivy/base.py", line 324, in idle
     Clock.tick()
   File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 483, in tick
     self._process_events()
   File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 615, in _process_events
     event.tick(self._last_tick, remove)
   File "/usr/local/lib/python2.7/dist-packages/kivy/clock.py", line 374, in tick
     ret = callback(self._dt)
 TypeError: create_window() takes exactly 1 argument (2 given)
$python main.py
[INFO][Logger]记录登录/home/pi/.kivy/logs/kivy_15-01-10_6.txt
[信息]Kivy v1.9.0-dev
[INFO][Python]v2.7.3(默认,2014年3月18日,05:13:23)
[GCC 4.6.3]
[信息][工厂]加载173个符号
[信息][图像]提供商:img_-tex、img_-dds、img_-gif、img_-pygame(img_-pil、img_-ffpyplayer忽略)
[信息][窗口]提供商:egl_rpi
[信息][GL]OpenGL版本
[信息][GL]OpenGL供应商
[INFO][GL]OpenGL渲染器
[INFO][GL]OpenGL解析版本:2,0
[信息][GL]明暗处理版本
[信息][GL]纹理最大大小
[信息][GL]纹理最大单位
[信息][着色器]片段着色器:
[信息][着色器]顶点着色器:
[信息][窗口]不允许使用虚拟键盘,单模,未对接
[INFO][GL]提供NPOT纹理支持
[信息][OSC]用于插座
[INFO][ProbeSysfs]设备匹配:/dev/input/event0
[INFO][HIDInput]从中读取事件
[INFO][ProbeSysfs]设备匹配:/dev/input/event1
[INFO][HIDInput]从中读取事件
[INFO][ProbeSysfs]设备匹配:/dev/input/event2
[INFO][HIDInput]从中读取事件
[INFO][Base]启动应用程序主循环
[INFO][HIDMotionEvent]使用
[INFO][HIDMotionEvent]使用
[INFO][HIDMotionEvent]使用
[INFO][Base]正在退出应用程序。。。
回溯(最近一次呼叫最后一次):
文件“main.py”,第145行,在
MainApp().run()
文件“/usr/local/lib/python2.7/dist-packages/kivy/app.py”,第825行,运行中
runTouchApp()
runTouchApp中的文件“/usr/local/lib/python2.7/dist packages/kivy/base.py”,第484行
EventLoop.window.mainloop()
文件“/usr/local/lib/python2.7/dist packages/kivy/core/window/window\u egl\u rpi.py”,第77行,在mainloop中
self._mainloop()
文件“/usr/local/lib/python2.7/dist packages/kivy/core/window/window\u egl\u rpi.py”,第72行,在mainloop中
EventLoop.idle()
文件“/usr/local/lib/python2.7/dist packages/kivy/base.py”,第324行,处于空闲状态
时钟滴答作响
文件“/usr/local/lib/python2.7/dist-packages/kivy/clock.py”,第483行,勾号
self.\u进程\u事件()
文件“/usr/local/lib/python2.7/dist packages/kivy/clock.py”,第615行,进程内事件
事件.勾选(自上次勾选,删除)
文件“/usr/local/lib/python2.7/dist-packages/kivy/clock.py”,第374行,勾号
ret=回拨(自身)
TypeError:create_window()正好接受1个参数(给定2个)
为了了解它的工作原理,我尝试编辑Kivy的“create_window()”函数,该函数位于“/usr/local/lib/python2.7/dist packages/Kivy/core/window/window\u egl\u rpi.py”中,方法是在其声明中添加一个可选参数。再次运行我的程序会产生某种分段错误,所以我不再乱动Kivy的代码


知道如何修复此日志中暗示的错误吗?(MainApp().run()是我的程序的开始,其他的都是Kivy函数,显然是由这个命令自动调用的)

我遇到了同样的错误,情况也是一样的-我的程序在Windows机器上运行正常,但在RPi上却因同样的错误而崩溃。在我的例子中,我运行的是更新的Python版本-2.7.9

Windows.size分配似乎是崩溃的根源:

class MainApp(App):
  def build(self):
    Window.size = (1280,800)     # <---- Crashes on RPi
class MainApp(应用程序):
def生成(自):

Window.size=(1280800)#我遇到了相同的错误,情况也是一样的-我的程序在Windows计算机上运行正常,但在RPi上由于相同的错误而崩溃。在我的例子中,我运行的是更新的Python版本-2.7.9

Windows.size分配似乎是崩溃的根源:

class MainApp(App):
  def build(self):
    Window.size = (1280,800)     # <---- Crashes on RPi
class MainApp(应用程序):
def生成(自):

Window.size=(1280800)#您是否遵循并更新了cython?是的,我是按照这些特定说明安装cython的,而不是从存储库安装的。由于某种原因,Cython的安装花了很长时间,所以在我有耐心坐下来之前,我尝试运行Kivy的build命令——它拒绝在没有安装Cython的情况下进行构建。后来,随着Cython的安装,它建造得很好。将python升级到2.7.8是可行的。是的,可能是这样——我目前的python是2.7.3,那么升级它的最佳方式是什么?我尝试在Raspberry上从源代码构建2.7.9,但运行“/configuration”表示C编译器无法构建可执行文件(即使我安装了gcc并将其更新为4.7版)。使用apt-get(即使在更新/升级之后)也不起作用,它说Python已经是最新版本了(我检查过了,它仍然是2.7.3)。只安装默认使用Python 2.7.8的Raspbian开发版本会更容易吗?(不记得Raspbian发行版的名称…)当然,您可以转到jessie(测试)或只获取python包及其依赖项。您是否遵循并更新了cython?是的,我是按照这些特定说明安装cython的,而不是从存储库安装的。由于某种原因,Cython的安装花了很长时间,所以在我有耐心坐下来之前,我尝试运行Kivy的build命令——它拒绝在没有安装Cython的情况下进行构建。后来,随着Cython的安装,它建造得很好。将python升级到2.7.8是可行的。是的,可能是这样——我目前的python是2.7.3,那么升级它的最佳方式是什么?我试着在Raspberry上从源代码构建2.7.9,但运行“/configuration”表示C编译