Пытаюсь запустить KIVY в первый раз

Я пытаюсь запустить 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 . . .

Многие люди поднимали этот вопрос в Интернете, но никто не упомянул о правильном решении.


person user2834165    schedule 01.10.2013    source источник
comment
Я получаю эту ошибку Какая ошибка? Пожалуйста, предоставьте полную трассировку   -  person TerryA    schedule 01.10.2013
comment
я упомянул ошибку   -  person user2834165    schedule 01.10.2013
comment
Это только кажется, что он не установлен. Были ли у вас проблемы с установкой? Kivy должен быть указан, если вы запускаете pydoc modules   -  person toto_tico    schedule 01.10.2013
comment
@ user2834165: мой ответ решил твою проблему? если да, это хорошая практика, чтобы принять его.   -  person Erik Kaplun    schedule 02.10.2013


Ответы (2)


ОБНОВЛЕНИЕ: судя по полученной вами ошибке, которую вы только что вставили после моего первоначального ответа ниже, вы, похоже, упускаете не только PyGame, но и сам Kivy. Давай, запусти pip install kivy.

Но прежде чем вы это сделаете, я рекомендую вам взглянуть на 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.

Поэтому я установил PyGame с помощью http://juliaelman.com/blog/2013/04/02/installing-pygame-on-osx-mountain-lion/; кроме того, что я установил его в 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!

person Erik Kaplun    schedule 01.10.2013
comment
Да, смотрите обновление в начале моего ответа. Кроме того, он вставил ошибку только после того, как я уже опубликовал свой первоначальный ответ; до этого невозможно было сказать, на какой он платформе. Кроме того, я уже сказал ему установить Kivy и как это сделать, поэтому я не понимаю цели вашего комментария. - person Erik Kaplun; 01.10.2013
comment
Ага Извините. Забыл об этом! Спасибо! - person user2834165; 02.10.2013
comment
@user2834165 user2834165: этот комментарий был адресован кому-то другому, кстати :) не знаю, о чем вам стоит сожалеть! - person Erik Kaplun; 04.10.2013
comment
Я получаю эту ошибку: Command "/usr/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-wrCJXo/kivy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-R7LcPd-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-wrCJXo/kivy есть предложения? - person Waiyl Karim; 31.03.2015

Может быть, это намного проще, это было для меня. На веб-странице kivy предоставьте «портативный пакет» для ОС Windows, поэтому вам не нужно устанавливать что-либо «системное».

Затем они объясняют, как сделать ярлык для этого «портативного пакета» в меню «Отправить». Я вставил .bat вместо ярлыка (никогда не говорил, что я умный), и у меня была (очевидно) точно такая же ошибка. Если это можно назвать ошибкой.

Надеюсь, это сработает и для вас.

person Adrián Neira    schedule 26.09.2015