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

zsohkypk  于 2022-11-08  发布在  PyCharm
关注(0)|答案(7)|浏览(431)

我尝试在我的Python 2.7项目中使用kivy(在PyCharm - Windows 10环境中),但是我得到了以下错误。
如果有人能帮我?谢谢!
PS:我试过很多次卸载/重新安装库等,并做像这样的帖子上建议的,但它不工作: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
jucafojl

jucafojl1#

问题

它在您的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集成开发环境

1.打开项目
1.点击***文件***
1.单击***设置...***
1.单击***项目解释器***
1.在右侧面板中,单击***项目解释器***的***下拉列表***
1.选择Python解释器的安装位置,例如***C:\Users\用户名\AppData\Local\Programs\Python\Python35\python.exe***
1.单击***确定***,直到退出***设置***窗口
1.***运行***程序

输出

第一页第二页

pod7payv

pod7payv2#

如果你没有安装所有的依赖项,那么错误就会发生,请使用pycharm终端代替Project Interpreter。然后安装以下

  1. python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
  2. python -m pip install kivy_deps.gstreamer==0.1.*
  3. python -m pip install kivy_deps.angle==0.1.*
  4. python -m pip install kivy==1.11.1
eh57zj3b

eh57zj3b3#

检查了所有的东西,重新安装等等,仍然没有运气,但在使用-d(调试)选项后,错误消息扩展,并建议可能有另一个sdl2.dll在路径中。经过一些尝试和错误,我发现一个在windows\system32。移动它的方式使错误消失。

y0u0uwnf

y0u0uwnf4#

我试着在虚拟环境中运行应用程序,它的工作.

of1yzvn4

of1yzvn45#

让我们真实的一点,使用虚拟环境。Kivys的文档甚至也强烈推荐这样做。
重复这一步总是给我一个可运行的kivy-example首先卸载你已经安装的所有kivy相关的库。

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

升级pip、wheel、安装工具和安装工具

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

在项目文件夹中创建venv并将其激活

python -m virtualenv venv
venv\Scripts\activate

(on bash将“source”放在前面。)
将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 ]无法获取窗口,中止。",CMD:

set USE_SDL2=1
set USE_GSTREAMER=1

终点站:

export USE_SDL2=1
export USE_GSTREAMER=1
knsnq2tg

knsnq2tg6#

只是不可能,尝试了所有的3.7 64在win10上,同样的例外...这件事就是不工作,我想我将不得不尝试Beeware代替.失望

olhwl3o2

olhwl3o27#

而不是在你的IDE中运行,试着在cmd或powershell中运行程序。

相关问题