Kivy 错误 (python 2.7) : sdl2 导入错误
Kivy error (python 2.7) : sdl2 import error
我试图在我的 Python 2.7 项目中使用 kivy(在 PyCharm - Windows 10 环境中),但出现以下错误。
如果有人可以帮助我?谢谢!
PS :我尝试了很多次 uninstalling/reinstalling 库等,并按照像这样的帖子中的建议进行操作,但它不起作用:
[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
问题
它正在您的 virtualenv 中寻找 Kivy 依赖项(例如 sdl2)。
解决方案
我遇到了同样的问题。我做了以下并解决了问题。
环境
- Windows 10
- PyCharm 社区
- Python 3.5
- 已安装 Kivy 依赖项(docutils、pygments、pypiwin32、kivy.deps.sdl2、kivy.deps.glew、kivy.deps.gstreamer)和对于 Python 3.5+ (kivy.deps.angle)
PyCharm IDE
- 打开项目
- 单击文件
- 单击设置...
- 单击项目解释器
- 在右侧面板上,单击 下拉列表 Project Interpreter
- Select Python 解释器的安装位置,例如C:\Users\user-name\AppData\Local\Programs\Python\Python35\python.exe
- 点击确定直到退出设置 window
- 运行你的程序
输出
如果您还没有安装所有依赖项,则会出现错误,而不是项目解释器使用 pycharm 终端
然后安装以下
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
检查了所有内容,重新安装等。仍然没有成功,但在使用 -d(调试)选项后,错误消息扩展并建议路径中可能还有另一个 sdl2.dll。经过反复试验,我在 windows\system32 中找到了一个。将其移开会使错误消失。
根本不可能,在 win10 上用 3.7 64 尝试了所有这些,同样的异常......这东西不起作用,我想我将不得不尝试 Beeware。令人失望
我在虚拟环境中尝试了 运行 应用程序,它运行良好。
说实话,使用虚拟环境。 Kivys 文档甚至强烈推荐这个。
重复这一步总能得到一个可运行的 kivy-example
首先卸载所有已安装的 kivy-related 库。
python -m pip uninstall -y kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle
升级 pip、wheel、setuptools 和 setuptools
python -m pip install --upgrade pip wheel setuptools virtualenv
在您的项目文件夹中创建一个 venv 并激活它
python -m virtualenv venv
venv\Scripts\activate
(在 bash 上将“来源”放在前面。)
安装 kivys 依赖到你的虚拟环境。
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.*
如果您需要视频和音频支持:
python -m pip install kivy_deps.gstreamer==0.1.*
在 Python 3.5+ 上,您可以选择使用 Angle 而不是 glew,either/or:
python -m pip install kivy_deps.glew==0.1.*
python -m pip install kivy_deps.angle==0.1.*
安装kivy
python -m pip install kivy==1.11.1 kivy_examples==1.11.1
之后做
python venv\share\kivy-examples\demo\showcase\main.py
来源:https://kivy.org/doc/stable/installation/installation-windows.html
如果仍然出现“[CRITICAL] [App] 无法获得 Window,中止。”的错误,
命令:
set USE_SDL2=1
set USE_GSTREAMER=1
航站楼:
export USE_SDL2=1
export USE_GSTREAMER=1
我试图在我的 Python 2.7 项目中使用 kivy(在 PyCharm - Windows 10 环境中),但出现以下错误。
如果有人可以帮助我?谢谢!
PS :我尝试了很多次 uninstalling/reinstalling 库等,并按照像这样的帖子中的建议进行操作,但它不起作用:
[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
问题
它正在您的 virtualenv 中寻找 Kivy 依赖项(例如 sdl2)。
解决方案
我遇到了同样的问题。我做了以下并解决了问题。
环境
- Windows 10
- PyCharm 社区
- Python 3.5
- 已安装 Kivy 依赖项(docutils、pygments、pypiwin32、kivy.deps.sdl2、kivy.deps.glew、kivy.deps.gstreamer)和对于 Python 3.5+ (kivy.deps.angle)
PyCharm IDE
- 打开项目
- 单击文件
- 单击设置...
- 单击项目解释器
- 在右侧面板上,单击 下拉列表 Project Interpreter
- Select Python 解释器的安装位置,例如C:\Users\user-name\AppData\Local\Programs\Python\Python35\python.exe
- 点击确定直到退出设置 window
- 运行你的程序
输出
如果您还没有安装所有依赖项,则会出现错误,而不是项目解释器使用 pycharm 终端 然后安装以下
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
检查了所有内容,重新安装等。仍然没有成功,但在使用 -d(调试)选项后,错误消息扩展并建议路径中可能还有另一个 sdl2.dll。经过反复试验,我在 windows\system32 中找到了一个。将其移开会使错误消失。
根本不可能,在 win10 上用 3.7 64 尝试了所有这些,同样的异常......这东西不起作用,我想我将不得不尝试 Beeware。令人失望
我在虚拟环境中尝试了 运行 应用程序,它运行良好。
说实话,使用虚拟环境。 Kivys 文档甚至强烈推荐这个。
重复这一步总能得到一个可运行的 kivy-example 首先卸载所有已安装的 kivy-related 库。
python -m pip uninstall -y kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle
升级 pip、wheel、setuptools 和 setuptools
python -m pip install --upgrade pip wheel setuptools virtualenv
在您的项目文件夹中创建一个 venv 并激活它
python -m virtualenv venv
venv\Scripts\activate
(在 bash 上将“来源”放在前面。)
安装 kivys 依赖到你的虚拟环境。
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.*
如果您需要视频和音频支持:
python -m pip install kivy_deps.gstreamer==0.1.*
在 Python 3.5+ 上,您可以选择使用 Angle 而不是 glew,either/or:
python -m pip install kivy_deps.glew==0.1.*
python -m pip install kivy_deps.angle==0.1.*
安装kivy
python -m pip install kivy==1.11.1 kivy_examples==1.11.1
之后做
python venv\share\kivy-examples\demo\showcase\main.py
来源:https://kivy.org/doc/stable/installation/installation-windows.html
如果仍然出现“[CRITICAL] [App] 无法获得 Window,中止。”的错误, 命令:
set USE_SDL2=1
set USE_GSTREAMER=1
航站楼:
export USE_SDL2=1
export USE_GSTREAMER=1