Kivy error (python 2.7) : sdl2 import error

10,719

Solution 1

Problem

It is looking for the Kivy dependencies (e.g. sdl2) in your virtualenv.

Solution

I have encountered the same problem. I did the following and it solved the problem.

Environment

  • Windows 10
  • PyCharm Community
  • Python 3.5
  • Kivy dependencies installed (docutils, pygments, pypiwin32, kivy.deps.sdl2, kivy.deps.glew, kivy.deps.gstreamer) and for Python 3.5+ (kivy.deps.angle)

PyCharm IDE

  1. Open the project
  2. Click File
  3. Click Settings...
  4. Click Project Interpreter
  5. On the right panel, click the drop down list for Project Interpreter
  6. Select the location where the Python interpreter is installed e.g. C:\Users\user-name\AppData\Local\Programs\Python\Python35\python.exe
  7. Click OK until you exit the Settings window
  8. Run your program

Output

Img01 - SDL2 Error Img02 - Python Interpreter Settings Before Change Img03 - Python Interpreter Settings Changed Img04 - Run Kivy App Img05 - SDL2

Solution 2

if you have not installed all dependencies then the error will occur , Instead of Project Interpreter use the pycharm terminal Then install the following

1.python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*

  1. python -m pip install kivy_deps.gstreamer==0.1.*

  2. python -m pip install kivy_deps.angle==0.1.*

  3. python -m pip install kivy==1.11.1

Solution 3

Checked everything, reinstalled etc. still no luck, but after using the -d (debug) option the errormessage expanded and suggested there might be another sdl2.dll in the path. After some trial and error I found one in windows\system32. Moving it out of the way made the error disappear.

Solution 4

I tried running the app in virtual environment and it worked.

Solution 5

Lets be real, use a virtual environment. Kivys documentation even highly recommends this aswell.

Repeating this step always gives me a runnable kivy-example First uninstall all kivy-related librarys you already have installed.

python -m pip uninstall -y kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle

Upgrade pip, wheel, setuptools and setuptools

python -m pip install --upgrade pip wheel setuptools virtualenv

Create a venv in your project folder and activate it

python -m virtualenv venv
venv\Scripts\activate 

(on bash put "source" in front.)

Install kivys dependecies to your virtual environment.

python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* 

If you want video and audio support:

python -m pip install kivy_deps.gstreamer==0.1.*

On Python 3.5+ you can opt to use Angle astead glew, so do either/or:

python -m pip install kivy_deps.glew==0.1.*
python -m pip install kivy_deps.angle==0.1.*

Install kivy

python -m pip install kivy==1.11.1 kivy_examples==1.11.1

After that do

python venv\share\kivy-examples\demo\showcase\main.py

Source: https://kivy.org/doc/stable/installation/installation-windows.html

If it still errors with "[CRITICAL] [App ] Unable to get a Window, abort.", CMD:

set USE_SDL2=1
set USE_GSTREAMER=1

Terminal:

export USE_SDL2=1
export USE_GSTREAMER=1
Share:
10,719
Admin
Author by

Admin

Updated on June 25, 2022

Comments

  • Admin
    Admin almost 2 years

    I'm trying to use kivy on my Python 2.7 project (in a PyCharm - Windows 10 environment), but I get the following error.

    If someone can help me ? Thanks !

    PS : I tried many times uninstalling/reinstalling libraries etc and doing what suggested on posts like this one, but it doesn't work : Kivy not working (Error: Unable to find any valuable Window provider.)

    [INFO   ] [Logger      ] Record log in C:\Users\cyril\.kivy\logs\kivy_18-03-25_0.txt
     C:\Users\cyril\venv\lib\site-packages\kivy\modules\__init__.py:128: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
       if path not in sys.path:
    [INFO   ] [Kivy        ] v1.10.0
    [INFO   ] [Python      ] v2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)]
    [INFO   ] [Factory     ] 194 symbols loaded
    [INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored)
    [CRITICAL] [Window      ] Unable to find any valuable Window provider.
    sdl2 - ImportError: DLL load failed: Le module sp�cifi� est introuvable.
      File "C:\Users\cyril\venv\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
        fromlist=[modulename], level=0)
      File "C:\Users\cyril\venv\lib\site-packages\kivy\core\window\window_sdl2.py", line 26, in <module>
        from kivy.core.window._window_sdl2 import _WindowSDL2Storage
    
    [CRITICAL] [App         ] Unable to get a Window, abort.
    
    Process finished with exit code 1