7

初めて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 . . .

多くの人がオンラインで問題を提起しましたが、誰も適切な解決策について言及していません.

4

2 に答える 2

14

更新:あなたが得ているエラーに基づいて(以下の私の最初の応答の後に貼り付けたばかりです)、PyGameだけでなくKivy自体も欠落しているようです. 実行してpip install kivyください。

ただし、それを行う前に、virtualenvを確認し、このプロジェクトに固有のすべての Python パッケージを、そのプロジェクト用に作成された virtualenv にインストールすることをお勧めします。それを望まない場合は、sudo pip install kivyKivy をグローバルにインストールするために実行する必要があります (OS X または Linux を使用していると仮定します)。Windows ではsudo必要ありません。

(また、以下の情報も役立つと確信しています。Kivy を持っていないので、Kivy をインストールしたことがあれば、PyGame を持っていないために問題が発生したことを意味するに違いありません。)

元の答え:

短縮版:

Kivy の依存関係である PyGame がありません。

長いバージョン:

あなたはエラーの内容を教えてくれなかったので、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ウィンドウがポップアップします!

于 2013-10-01T10:39:36.063 に答える