Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to run KIVY, for the first time

Tags:

python

kivy

I'm trying to run kivy for the first time. Im using a default program.

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()

I get this error:

##################################
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 . . .

A lot of people have raised the issue online, but no one has mentioned the right solution.

like image 622
user2834165 Avatar asked Oct 01 '13 09:10

user2834165


People also ask

Is Kivy difficult?

Kivy language is easy to learn and implement, but it is in its development phase and not many folks are working In this environment. There is help available on different online platforms but it is difficult to get a solutions narrowed down to your specific issue.

Why Kivy is not working in VS code?

Solution: Please select the Python environment where the module "kivy" is installed in the lower left corner of VS Code, and use the shortcut key Ctrl+Shift+` to open a new VS Code terminal, it will automatically enter the selected environment. Reference: Python environment in VS Code. Save this answer.


2 Answers

UPDATE: based on the error you're getting—which you just pasted now, after my original response below—, you seem to be missing not only PyGame but Kivy itself. Go ahead and run pip install kivy.

But before you do that, I'd recommend you take a look at virtualenv and install all your Python packages specific to this project in a virtualenv created for that project. If you don't want that, you have to run sudo pip install kivy to install Kivy globally (assuming you're on OS X or Linux). On Windows, sudo should not be needed.

(Also, I'm sure the information below will be useful as well—since you don't even have Kivy, it must mean that you would have run into problems for not having PyGame either once would have installed Kivy.)

ORIGINAL ANSWER:

Short version:

You're missing PyGame, which is a dependency of Kivy.

Long version:

Since you didn't tell us what the error was, I went ahead and ran your code on my OS X 10.8 machine and got this:

$ 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.

googling that error landed me on http://kivy.org/docs/installation/troubleshooting-macosx.html.

So I went ahead and installed PyGame with the help of http://juliaelman.com/blog/2013/04/02/installing-pygame-on-osx-mountain-lion/; except I installed it in a virtualenv:

$ pip install hg+http://bitbucket.org/pygame/pygame

after that:

$ 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

And I get a nice Kivy window popping up!

like image 150
Erik Kaplun Avatar answered Sep 23 '22 15:09

Erik Kaplun


Maybe it's much more simple, it was for me. On kivy webpage provide a ‘portable package’ for windows OS so you don’t have to install anything “system” wide.

Then they explain how to make a shortcut to this ‘portable package’ on the Send-to menu. I've pasted the .bat instead of it's shortcut (never said i was smart) and I had (obviously) exacly the same error. If we can call it an error.

Hope it works for you too.

like image 38
Adrián Neira Avatar answered Sep 22 '22 15:09

Adrián Neira