我正试图第一次运行kivy。我正在使用默认程序。
from kivy.app import App
from kivy.uix.widget import Widget
class PongGame(Widget):
pass
class PongApp(App):
def build(self):
return PongGame()
if __name__ == '__main__':
PongApp().run()
我收到此错误:
##################################
done bootstraping kivy...have fun!\n
running "python.exe C:\Python27\hello.py" \n
Traceback (most recent call last):
File "C:\Python27\hello.py", line 1, in <module>
from kivy.app import App
ImportError: No module named kivy.app
Press any key to continue . . .
很多人在网上提出了这个问题,但没有人提到正确的解决方案。
答案 0 :(得分:14)
更新:根据您刚刚获得的错误 - 您刚刚在我原来的回复之后粘贴了 - ,您似乎不仅缺少PyGame而且还缺少Kivy本身。继续运行pip install kivy
。
但是在你这样做之前,我建议你看看virtualenv并在为该项目创建的virtualenv中安装特定于该项目的所有Python包。如果您不想这样,则必须运行sudo pip install kivy
以全局安装Kivy(假设您使用的是OS X或Linux)。在Windows上,不需要sudo
。
(另外,我确信下面的信息也很有用 - 因为你甚至没有Kivy,它必须意味着你曾经遇到过没有PyGame曾经安装过Kivy的问题。)
原始答案:
简短版:
你错过了PyGame,这是Kivy的依赖。
长版:
由于你没有告诉我们错误是什么,我继续在我的OS X 10.8机器上运行你的代码并得到了这个:
$ python main.py
[INFO ] Kivy v1.7.2
...
[CRITICAL] [Window ] Unable to find any valuable Window provider at all!
[CRITICAL] [App ] Unable to get a Window, abort.
谷歌搜索该错误让我感到http://kivy.org/docs/installation/troubleshooting-macosx.html。
所以我继续在http://juliaelman.com/blog/2013/04/02/installing-pygame-on-osx-mountain-lion/的帮助下安装PyGame;除了我在virtualenv中安装它:
$ pip install hg+http://bitbucket.org/pygame/pygame
之后:
$ python yourcode.py
[INFO ] Kivy v1.7.2
Purge log fired. Analysing...
Purge finished !
[INFO ] [Logger ] Record log in /Users/erik.allik/.kivy/logs/kivy_13-10-01_2.txt
[INFO ] [Factory ] 144 symbols loaded
[DEBUG ] [Cache ] register <kv.lang> with limit=None, timeout=Nones
[DEBUG ] [Cache ] register <kv.image> with limit=None, timeout=60s
...
[INFO ] [OSC ] using <multiprocessing> for socket
[DEBUG ] [Base ] Create provider from mouse
[INFO ] [Base ] Start application main loop
我得到了一个漂亮的Kivy窗口!
答案 1 :(得分:1)
也许它更简单,它适合我。在kivy网页上为Windows操作系统提供了一个“便携式软件包”,因此您无需在“系统”范围内安装任何内容。
然后他们解释了如何在发送到菜单上创建这个“便携包”的快捷方式。我已经粘贴了.bat而不是它的快捷方式(从未说过我很聪明)而且我(显然)有同样的错误。如果我们可以称之为错误。
希望它也适合你。