繁体   English   中英

Kivy 错误(python 2.7):sdl2 导入错误

[英]Kivy error (python 2.7) : sdl2 import error

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

如果有人可以帮助我? 谢谢

PS:我尝试了很多次卸载/重新安装库等并按照类似帖子的建议进行操作,但它不起作用: Kivy 不工作(错误:找不到任何有价值的 Window 提供程序。)

 [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

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

如果您还没有安装所有依赖项,则会出现错误,而不是 Project Interpreter 使用 pycharm 终端然后安装以下

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

检查一切,重新安装等仍然没有运气,但在使用 -d(调试)选项后,错误消息扩展并建议路径中可能有另一个 sdl2.dll。 经过反复试验,我在 windows\system32 中找到了一个。 将其移开使错误消失。

我尝试在虚拟环境中运行该应用程序并且它有效。

让我们变得真实,使用虚拟环境。 Kivys 文档甚至强烈推荐这个。

重复这一步总是给我一个可运行的 kivy-example 首先卸载你已经安装的所有与 kivy 相关的库。

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

升级 pip、滚轮、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,因此可以选择/或:

 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] Unable to get a Window, abort.”错误,CMD:

 set USE_SDL2=1 set USE_GSTREAMER=1

终端:

 export USE_SDL2=1 export USE_GSTREAMER=1

非常感谢,它确实奏效了! 我刚刚在Project Interpreter列表中添加了安装在C:\\ Python27 \\ python.exe中的“原始” python解释器,并按您的选择进行了选择。

最好的祝福,

只是不可能,在win10上用3.7 64尝试了所有这些,同样的例外......这东西不起作用,我想我将不得不尝试Beeware。 令人失望

而是在您的 IDE 中运行,尝试在 cmd 或 powershell 中运行程序 Z23EEEB4347BDD26BDDFC6B7EE python <filename> 这个对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM