代码之家  ›  专栏  ›  技术社区  ›  user9545017

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

  •  3
  • user9545017  · 技术社区  · 8 年前

    我试图在我的Python 2.7项目(在PyCharm-Windows 10环境中)上使用kivy,但出现以下错误。

    如果有人能帮我?谢谢

    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
    
    6 回复  |  直到 8 年前
        1
  •  5
  •   Community Mohan Dere    6 年前

    问题

    它正在您的VirtualNV中寻找Kivy依赖项(例如sdl2)。

    解决方案

    我也遇到了同样的问题。我做了以下操作,解决了问题。

    环境

    • Windows 10
    • PyCharm社区
    • Python 3.5
    • 已安装Kivy dependencies( docutils、pygments、pypiwin32、kivy。部门。sdl2,kivy。部门。glew,kivy。部门。gstreamer公司 )对于Python 3.5+( 基维。部门。角 )

    PyCharm IDE

    1. 打开项目
    2. 点击 文件
    3. 点击 设置。。。
    4. 点击 项目口译员
    5. 在右侧面板上,单击 下拉列表 对于 项目口译员
    6. 选择安装Python解释器的位置,例如。 C: \Users\user name\AppData\Local\Programs\Python\Python35\Python。exe文件
    7. 点击 好啊 直到您退出 设置
    8. 您的程序

    输出

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

        2
  •  3
  •   Kalyan Mohanty    6 年前

    如果尚未安装所有依赖项,则会发生错误,请使用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

        3
  •  1
  •   naico    6 年前

    检查了所有内容,重新安装了等等。仍然没有成功,但在使用-d(debug)选项后,错误消息扩展并建议可能存在另一个sdl2。路径中的dll。经过反复尝试,我在windows\system32中找到了一个。把它移到一边,错误就消失了。

        4
  •  1
  •   Nikhil    5 年前

    我试着在虚拟环境中运行这个应用程序,结果成功了。

        5
  •  1
  •   Peekachu    5 年前

    让我们真实地使用虚拟环境。Kivys文档甚至强烈建议这样做。

    重复这一步总会给我一个可运行的kivy示例 首先卸载您已经安装的所有与kivy相关的库。

    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上,将“source”放在前面。)

    将kivys Dependences安装到虚拟环境中。

    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 astead 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

    如果仍然出现错误,“[关键][应用程序]无法获取窗口,请中止。”, 命令:

    set USE_SDL2=1
    set USE_GSTREAMER=1
    

    终端:

    export USE_SDL2=1
    export USE_GSTREAMER=1
    
        6
  •  0
  •   RobD    6 年前

    根本不可能,在win10上用3.7 64尝试了所有这些,同样的例外。。。这东西就是不管用,我想我得试试啤酒。令人失望的