我无法让 Kivy“Hello World”示例工作

Posted

技术标签:

【中文标题】我无法让 Kivy“Hello World”示例工作【英文标题】:I cant get the Kivy "Hello World" example to work 【发布时间】:2018-09-03 21:10:11 【问题描述】:

出于某种原因,我似乎无法让 Kivy "Hello world" 工作。

我花了几个小时在网上研究这个问题,并查看了我在 Stack Overflow 上可以找到的所有相关问题。

我已经删除并重新安装了 kivy 和 python。

我已经安装了所有的 kivys 依赖项和枕头。

如果它有所作为,我正在使用 python 3。

这是我的代码。

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

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

TestApp().run()

这是我得到的回应。

[INFO   ] [Logger      ] Record log in C:\Users\Luc\.kivy\logs\kivy_18-03-25_6.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\Luc\AppData\Local\Programs\Python\Python36-32\Lib\kivy\core\__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Users\Luc\AppData\Local\Programs\Python\Python36-32\Lib\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\Luc\AppData\Local\Programs\Python\Python36-32\Lib\kivy\utils.py", line 496, in __get__
     retval = self.func(inst)
   File "C:\Users\Luc\AppData\Local\Programs\Python\Python36-32\Lib\kivy\metrics.py", line 174, in dpi
     EventLoop.ensure_window()
   File "C:\Users\Luc\AppData\Local\Programs\Python\Python36-32\Lib\kivy\base.py", line 127, in ensure_window
     sys.exit(1)
 SystemExit: 1
[CRITICAL] [App         ] Unable to get a Window, abort.

任何帮助将不胜感激。

【问题讨论】:

你按照here的说明安装kivy了吗? 是的,我确实安装了所有这些。 从 PyCharm 运行 kivy 应用程序时是否收到 SDL2 错误? 是的,我使用的是 PyCharm 【参考方案1】:

看看this的回答。看来你需要kivy.deps.sdl2

【讨论】:

然后,按照答案中的说明安装所有依赖项。 这些我都有。 在这种情况下,我建议卸载 python(如果可能的话)和 kivy 并使用 Anaconda 重新安装。我通过conda 安装了所有软件包,根本没有遇到任何问题。虽然,您仍然需要运行 pip install kivy,因为 conda 存储库没有此模块。但 Anaconda 将负责导入和PATH。这个 Kivy 程序非常适合我。我曾经在使用独立 Python 和包时遇到过类似的问题。 好的,会的。我会让你知道会发生什么。

以上是关于我无法让 Kivy“Hello World”示例工作的主要内容,如果未能解决你的问题,请参考以下文章

[Python 应用:Android App] Hello World App 之Kivy 介绍以及基本配置

无法让 Qt Hello World 工作

无法运行简单的 N-API hello world 示例

PL/pgSQL“for循环”+选择基本示例(“hello world”)

Hello world

一个简单的 Hello World setuptools 包并使用 pip 安装它