sdl2 - ImportError:DLL加载失败:找不到指定的模块,[CRITICAL] [App]无法获取窗口,中止

Jai*_*odd 11 python dll kivy sdl-2

  • Python:3.6.4
  • 操作系统:Windows 10
  • Kivy:1.10.0

Kivy安装方法

python -m pip install --upgrade pip wheel setuptools
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy.deps.gstreamer
python -m pip install kivy.deps.angle
python -m pip install kivy
python -m pip install kivy_examples
python -m pip install Pillow
python -m pip install cython
python -m pip install PyEnchant
Run Code Online (Sandbox Code Playgroud)

描述

嗨,我试图从安装Kivy运行示例代码.以下是我收到的错误.任何帮助都会很棒.我曾尝试查看以前有关类似问题的查询,但到目前为止,他们没有任何建议.

[INFO   ] [Logger      ] Record log in C:\Users\DoddJ\.kivy\logs\kivy_18-03-26_52.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: pil(['text_sdl2'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
    File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
    File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\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.
  Exception ignored in: 'kivy.properties.dpi2px'
  Traceback (most recent call last):
    File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\utils.py", line 496, in __get__
      retval = self.func(inst)
    File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\metrics.py", line 174, in dpi
      EventLoop.ensure_window()
    File "C:\Users\dev.DoddJ\AppData\Local\Programs\Python\Python36-32\lib\site-packages\kivy\base.py", line 127, in ensure_window
      sys.exit(1)
SystemExit: 1
[CRITICAL] [App         ] Unable to get a Window, abort.
Run Code Online (Sandbox Code Playgroud)

代码和日志

我正在尝试运行的代码:

import kivy
kivy.require('1.10.0') # replace with your current kivy version !

from kivy.app import App
from kivy.uix.label import Label


class MyApp(App):

    def build(self):
        return Label(text='Hello world')


if __name__ == '__main__':
    MyApp().run()
Run Code Online (Sandbox Code Playgroud)

Jav*_*pse 18

我有同样的问题.我先解决了Kivy及其依赖关系.

python -m pip uninstall kivy

python -m pip uninstall kivy.deps.sdl2

python -m pip uninstall kivy.deps.glew

python -m pip uninstall kivy.deps.gstreamer

python -m pip uninstall image
Run Code Online (Sandbox Code Playgroud)

现在重新安装除gstreamer之外的所有东西.

python -m pip install --upgrade pip wheel setuptools

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew --extra-index-url https://kivy.org/downloads/packages/simple/

python -m pip install kivy
Run Code Online (Sandbox Code Playgroud)

它解决了错误.致Ben R的答案.


bla*_*oon 5

07-2021,Python 3.9

问题是尚未设置 PATH 变量(从 Windows 应用商店安装 Python)。

**从 Windows 菜单/浏览器:

删除程序

一开始删除所有 python 安装,这会让生活更轻松**

最好从python.org下载 python 并以管理员身份安装为“自定义”,并使用已知路径(对于所有用户)IE c:/programs/python39

请务必检查:

添加到系统 PATH 变量

现在,安装 python 后 - 我们注销并重新登录。然后在开始菜单中查找 CMD 并运行!作为管理员

管理员位置,按照网站上的说明进行安装: https://kivy.org/doc/stable-1.10.1/installation/installation-windows.html

IE:

python -m pip install --upgrade pip wheel setuptools
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
python -m pip install kivy.deps.gstreamer

python -m pip install kivy.deps.angle
Run Code Online (Sandbox Code Playgroud)

最后

python -m pip install kivy
Run Code Online (Sandbox Code Playgroud)

这就解决了整个问题。

诗。如果您在 IE 中编写 angin 命令:

    python -m pip install kivy.deps.angle
Run Code Online (Sandbox Code Playgroud)

文件位置应显示为 IE:

c:/programs/python39....

不能作为你的主目录

(但是,如果您以普通用户身份运行cmd,那么它就不起作用了……但是,如果您的主目录上有所有文件,则必须在开始之前删除所有文件:

python -m pip uninstall docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

然后(作为管理员): python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew