Kivy: “无法获得窗口,中止。”

创建于 2018-07-13  ·  26评论  ·  资料来源: kivy/kivy

版本

  • 蟒蛇:3.6
  • 操作系统:Windows 10
  • 基维:1.10.1
  • Kivy安装方法: https :

描述

[INFO   ] [Logger      ] Record log in C:\Users\flamesoff\.kivy\logs\kivy_18-07-13_16.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)]
[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: Не найден указанный модуль.
  File "C:\Users\flamesoff\AppData\Roaming\Python\Python36\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\flamesoff\AppData\Roaming\Python\Python36\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.

重新安装没有帮助。
多次尝试此命令,它输出所有内容都已安装。 但是代码仍然不起作用。

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

代码和日志

from kivy.app import App
from kivy.uix.button import Button


class TestApp( App ) :
    def build( self ) :
        return Button( text = 'Hello World' )


TestApp().run()
documentation Windows Needs-analysis

最有用的评论

有人在我的 StackOverflow 问题上找到了另一个线程来解决我的问题,并且很可能这与 OP 有相同的问题。

@FlamesoFF您是在使用 PyCharm 运行代码,还是在为项目选择解释器时允许您创建虚拟环境的其他 IDE? 您可能在虚拟环境中运行 python 的副本(由于某种原因)不会导入所有 python 模块。

为了解决这个问题,我必须将我的项目解释器更改为现有的解释器(在 PyCharm 中:文件 > 设置 > 项目 > 项目解释器 > 现有解释器),浏览到我原来的 python.exe 文件的位置(我还必须打开“显示隐藏文件”在 PyCharm 中这样做),并将 THAT 设置为我的解释器

这解决了我的问题 - 希望它也适用于您!

所有26条评论

我有完全一样的问题。 我已经轻松地花了 8 多个小时试图解决这个问题——阅读论坛、卸载/重新安装 python/kivy、尝试不同的 python 版本、将我的 PATH 路由到无数文件夹等——过去两天,我无法弄清楚。

我对此提出了关于堆栈溢出的问题(它被错误地标记为重复 - 它不是)。 这是链接,以防我收到回复。 希望有人能尽快找到解决方案,我正在尽我所能,但此时我完全不知所措。 我真的只是想学习kivy。

好的,我稍后会尝试重现此内容。 如果您正在观看此内容,请快速提问:您是否已经尝试过使用glew而不是角度pip install kivy.deps.glew )?

@dolang我不确定OP,但我试过只安装glew,只安装角度,以及两者,但无论如何我都会收到相同的错误。

我以前见过类似的问题(也许试试这个),但我总是先尝试安装到虚拟环境中,以确保包没有问题。

我猜你是直接使用系统的安装吗? 您使用的是pip install ...还是pip install --user ...

尝试从 pypi 卸载并重新安装以前版本的 kivy.deps.xxx。 您可以通过查找最后一个版本和类似pip install kivy.deps.sdl2==ver或类似的东西来做到这一点。

另外,您是否尝试过仅使用 sdl2 而既不倾斜也不倾斜? 另外,请确保您没有安装 kivy.deps.gstreamer 并查看它是否有帮助。

我现在必须去烧烤,所以我现在会尝试更快的潜在解决方案,其他任何事情我都必须等到今晚/明天再尝试。

@dolang是的,我直接安装到我的系统中。 我使用 python -m pip install ... ; 今晚回家后,我肯定会浏览那个论坛,看看是否有任何效果。 感谢您的帮助/回复👍

@matham我没有尝试过任何建议的配置,但我现在会快速尝试它们,因为它们应该很快。 如果仅运行 sdl2 或卸载 gstreamer 有效,我将在今晚或明天尝试执行以前的版本。 不过感谢您的建议!

@matham不幸的是,卸载 gstreamer、glew 和 angle 仍然会导致相同的错误:(

我得先走了,但今晚晚些时候或明天早上我会尝试其他所有方法。 谢谢大家的建议

@gkub看了一会儿,你甚至可能有一个单独的问题:

  • Python 版本不匹配(3.7 而不是 3.6)
  • 根据您的 StackOverflow 问题,您的安装是在AppData\Local而不是AppData\Roaming (尽管可能已经从 3.6 更改为 3.7)
  • 您使用的是 32 位解释器,而不是 64 位

您可以尝试将包含 sdl2 的文件夹添加到您的路径中。 他们大概在:

C:\Users\gkubi\AppData\Local\Programs\Python\Python37-32\share\sdl2
C:\Users\gkubi\AppData\Local\Programs\Python\Python37-32\share\glew

有人在我的 StackOverflow 问题上找到了另一个线程来解决我的问题,并且很可能这与 OP 有相同的问题。

@FlamesoFF您是在使用 PyCharm 运行代码,还是在为项目选择解释器时允许您创建虚拟环境的其他 IDE? 您可能在虚拟环境中运行 python 的副本(由于某种原因)不会导入所有 python 模块。

为了解决这个问题,我必须将我的项目解释器更改为现有的解释器(在 PyCharm 中:文件 > 设置 > 项目 > 项目解释器 > 现有解释器),浏览到我原来的 python.exe 文件的位置(我还必须打开“显示隐藏文件”在 PyCharm 中这样做),并将 THAT 设置为我的解释器

这解决了我的问题 - 希望它也适用于您!

@gkub可能只是因为您所做的事情的副作用而为您修复了它。 通常,切换到虚拟环境而不是离开它可能会有所帮助。 您的评论中显然存在 sdl2 依赖项:

certifi==2018.4.16 chardet==3.0.4 docutils==0.14 idna==2.7 Kivy==1.10.1 Kivy-Garden==0.1.4 kivy.deps.angle==0.1.7 kivy.deps.glew= =0.1.10 kivy.deps.gstreamer==0.1.13

kivy.deps.sdl2==0.1.18

枕头==5.2.0 pygame==1.9.3 Pygments==2.2.0 pypiwin32==223 pywin32==223 requests==2.19.1 urllib3==1.23

你能在这里放一张你的解释器屏幕的图片吗,也许是你最初设置它的步骤? 如果我们可以重现这个问题,它可能会帮助我们找到一个真正的解决方案。

@dolang
当我的解释器失败时,我最初是如何配置它的:

failed interpreter setup

包屏幕,配置失败:

failed interpreter packages

失败的“Hello World”按钮程序输出,包括 SDL2 错误(安装了 glew、angle 和 gstreamer):

failed interpreter run

我如何成功配置我的解释器:

successful interpreter setup

成功设置的软件包屏幕:

successful interpreter packages

希望这会有所帮助! 忽略最后两张图片顶部的怪异之处。

@gkub谢谢你。 我还没有适当地测试它,但这肯定会有很大帮助。

我注意到的一件事是您在该 virtualenv 中启用了继承全局站点包。 在您的情况下,这可能是罪魁祸首,因为它混合了虚拟环境和全局环境,而不是创建一个完全隔离的环境。

但我有一个想法,我们也可以采取一些措施来处理这种情况。

该问题已在 Start Overflow 上解决,我将关闭此问题。
常见问题解答部分将列出与此相关的所有潜在问题。

好的,我稍后会尝试重现此内容。 如果您正在观看此内容,请快速提问:您是否已经尝试使其与 _glew_ 而不是 _angle_ ( pip install kivy.deps.glew ) 一起使用?

是的,我尝试使用 kivy.deps.glew 并没有成功。 我正在使用 python 3.7 和 kivy 1.10.1

有人在我的 StackOverflow 问题上找到了另一个线程来解决我的问题,并且很可能这与 OP 有相同的问题。

@FlamesoFF您是在使用 PyCharm 运行代码,还是在为项目选择解释器时允许您创建虚拟环境的其他 IDE? 您可能在虚拟环境中运行 python 的副本(由于某种原因)不会导入所有 python 模块。

为了解决这个问题,我必须将我的项目解释器更改为现有的解释器(在 PyCharm 中:文件 > 设置 > 项目 > 项目解释器 > 现有解释器),浏览到我原来的 python.exe 文件的位置(我还必须打开“显示隐藏文件”在 PyCharm 中这样做),并将 THAT 设置为我的解释器

这解决了我的问题 - 希望它也适用于您!

你是最棒的 !! 老兄在这上面浪费了我 10 个小时,然后找到了你的解决方案。 再次感谢

我有完全一样的问题。 我已经轻松地花了 8 多个小时试图解决这个问题——阅读论坛、卸载/重新安装 python/kivy、尝试不同的 python 版本、将我的 PATH 路由到无数文件夹等——过去两天,我无法弄清楚。

我对此提出了关于堆栈溢出的问题(它被错误地标记为重复 - 它不是)。 这是链接,以防我收到回复。 希望有人能尽快找到解决方案,我正在尽我所能,但此时我完全不知所措。 我真的只是想学习kivy。

好的,我稍后会尝试重现此内容。 如果您正在观看此内容,请快速提问:您是否已经尝试使其与 _glew_ 而不是 _angle_ ( pip install kivy.deps.glew ) 一起使用?

我有同样的问题,这解决了!

我正在使用 Pycharm 并且我已经完成了 Settings-> Project Interpreter-> Import kivydepsglew

终于解决了

谢谢

我有完全一样的问题。 我已经轻松地花了 8 多个小时试图解决这个问题——阅读论坛、卸载/重新安装 python/kivy、尝试不同的 python 版本、将我的 PATH 路由到无数文件夹等——过去两天,我无法弄清楚。
我对此提出了关于堆栈溢出的问题(它被错误地标记为重复 - 它不是)。 这是链接,以防我收到回复。 希望有人能尽快找到解决方案,我正在尽我所能,但此时我完全不知所措。 我真的只是想学习kivy。

好的,我稍后会尝试重现此内容。 如果您正在观看此内容,请快速提问:您是否已经尝试使其与 _glew_ 而不是 _angle_ ( pip install kivy.deps.glew ) 一起使用?

我有同样的问题,这解决了!

我正在使用 Pycharm 并且我已经完成了 Settings-> Project Interpreter-> Import kivydepsglew

终于解决了

谢谢

嘿兄弟,你安装的模块(kivydepsglew)没有安装在pycharm中。
你能帮我吗。
Capture

这实际上对我有用,非常感谢
pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
点安装 kivy.deps.gstreamer
点安装 kivy.deps.angle

这实际上对我有用,非常感谢
pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
点安装 kivy.deps.gstreamer
点安装 kivy.deps.angle

在 Visual Studio Code 中也有同样的问题,这很有效! 谢谢 !

实际上我遇到了同样的问题,但是一旦我复制粘贴了您在描述问题时发布的那些 pip install 命令,我的基本命令已经在运行了..我还没有使用 kivy 的完整功能,但是嘿,谢谢现在所有的东西都在工作!
不知道为什么,但他们工作! 哈哈谢谢 !

这实际上对我有用,非常感谢
pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
点安装 kivy.deps.gstreamer
点安装 kivy.deps.angle

在 Visual Studio Code 中为我工作,谢谢!!!

再过几年你就会回答了。

这实际上对我有用,非常感谢
pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
点安装 kivy.deps.gstreamer
点安装 kivy.deps.angle

谢谢十亿!!!!!!
这就像魅力一样

这实际上对我有用,非常感谢
pip install --upgrade pip wheel setuptools
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
点安装 kivy.deps.gstreamer
点安装 kivy.deps.angle

....工作!!👍

此页面是否有帮助?
0 / 5 - 0 等级