Kivy error (python 2.7) : sdl2 import error
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
- Open the project
- Click File
- Click Settings...
- Click Project Interpreter
- On the right panel, click the drop down list for Project Interpreter
- Select the location where the Python interpreter is installed e.g. C:\Users\user-name\AppData\Local\Programs\Python\Python35\python.exe
- Click OK until you exit the Settings window
- Run your program
Output
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.*
python -m pip install kivy_deps.gstreamer==0.1.*
python -m pip install kivy_deps.angle==0.1.*
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
Admin
Updated on June 25, 2022Comments
-
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