【问题标题】:Kivy hello world not workingKivy你好世界不工作
【发布时间】:2013-03-07 20:36:57
【问题描述】:

我正在尝试让 kivy 在我的 Ubuntu 系统上运行。我按照他们wesbite 的说明进行操作。

但是当我尝试从他们的网站运行以下 hello world 代码时:

import kivy
kivy.require('1.5.1') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text='Hello World')

if __name__ == '__main__':
    MyApp().run()

我收到以下错误:

[INFO   ] Kivy v1.5.1
[INFO   ] [Logger      ] Record log in /home/malik/.kivy/logs/kivy_13-03-08_6.txt
[INFO   ] [Factory     ] 137 symbols loaded
[DEBUG  ] [Cache       ] register <kv.lang> with limit=None, timeout=Nones
[DEBUG  ] [Cache       ] register <kv.image> with limit=None, timeout=60s
[DEBUG  ] [Cache       ] register <kv.atlas> with limit=None, timeout=Nones
[DEBUG  ] [Cache       ] register <kv.texture> with limit=1000, timeout=60s
[DEBUG  ] [Cache       ] register <kv.shader> with limit=1000, timeout=3600s
[INFO   ] [Text        ] using <pygame> as text provider
[DEBUG  ] [App         ] Loading kv <./my.kv>
[DEBUG  ] [App         ] kv <./my.kv> not found
[INFO   ] [Window      ] using <pygame> as window provider
  X Error of failed request:  BadRequest (invalid request code or no such operation)
    Major opcode of failed request:  138 (ATIFGLEXTENSION)
    Minor opcode of failed request:  66 ()
    Serial number of failed request:  14
    Current serial number in output stream:  14

跟我的显卡有关系吗?我正在使用 ATI Mobility Radeon HD 5400 显卡。

【问题讨论】:

  • 如果您还没有使用它,您能否尝试将您的 GPU 更新到最新的驱动程序。
  • 我使用的是 ubuntu 12.04 LTS,无法让 GPU(ATI 5400 系列)驱动程序正常工作。这可能是问题的原因吗?
  • 是的,Kivy 需要一个至少支持 OpenGL ES 2.0 的驱动程序。

标签: python ubuntu-12.04 cython kivy


【解决方案1】:

终于通过将 Ubuntu 更新到 12.10 使其工作似乎问题出在图形驱动程序上。现在该示例按预期工作。谢谢琼杰和qua-non。

【讨论】:

    【解决方案2】:

    我按照您提供的说明进行操作。并使用您提供的代码,我得到了这个结果。见图。 python版本是python2.7。我使用的系统是ubuntu12.10。

    代码需要超级用户权限,我从命令行运行代码:sudo python demo.py

    尝试使用 'sudo' 来运行它。

    【讨论】:

    • 你好琼杰,欢迎来到Stack Overflow!您需要至少 10 个代表来发布图片,因此如果该图很重要,您应该将其发布到 imgur 或其他地方并在您的答案中链接到它。
    • 现在你应该有足够的声誉了:)
    • 感谢琼杰的快速回复。但这并不能解决我的问题。我已经尝试使用 sudo 运行它。没用。
    • @akash 你用的是哪个python版本?
    • @QiongjieTian,该应用程序中没有任何内容可以保证以 root 权限运行它。请注意这是多么大的风险(以 root 身份运行您的应用程序)。 Kivy 在启动时尝试通过探测 sysfs 来访问多点触控设备,如果无法访问该设备,则会引发警告/错误。这种情况的解决方案是授予您的用户访问设备的权限(如果您有一个),或者如果您不想授予 kivy 访问权限或禁用配置中的 probesysfs,则安全地忽略警告。不建议以 root 身份运行您的应用。
    猜你喜欢
    • 2011-09-24
    • 1970-01-01
    • 2012-12-27
    • 2021-05-10
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多