让 Kivy 最终在 Eclipse 中工作,编译然后错误:CRITICAL Application No window is created.Terminating application run

Posted

技术标签:

【中文标题】让 Kivy 最终在 Eclipse 中工作,编译然后错误:CRITICAL Application No window is created.Terminating application run【英文标题】:Got Kivy to finally work in Eclipse, compiles then error: CRITICAL Application No window is created.Terminating application run 【发布时间】:2015-11-25 17:36:03 【问题描述】:

就像我提到的,我终于让 Kivy 在 Eclipse Pydev for Windows 7 中编译而没有任何错误。当我运行该文件时,我收到了该错误,当然没有弹出窗口。有谁知道为什么以及如何解决这个错误?

main.py

import kivy
kivy.require('1.9.0')  # @UndefinedVariable

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder

presentation = Builder.load_file("test.kv")

class StartScreen(FloatLayout):
    pass


class TestApp(App):

    def build(self):
        return presentation



if __name__=='__main__':
    TestApp().run()

test.kv #:kivy 1.9

<StartScreen>:
    orientation: 'vertical'
    canvas:
        Color:
            rgba: 1,0,1,1
        Rectangle:
            source: 'kivy/graphics/blu.png'

    FloatLayout:

我确认 pygame 已安装并且我能够毫无错误地导入它。我安装了 Cython,它是 Kivy 的依赖项。升级后出现新错误。似乎相同的错误但不同:

[INFO              ] [Logger      ] Record log in C:\Users\qzfyrp\.kivy\logs\kivy_15-08-31_29.txt
[INFO              ] [Kivy        ] v1.9.0
[INFO              ] [Python      ] v3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)]
[INFO              ] [Factory     ] 173 symbols loaded
[INFO              ] [Image       ] Providers: img_tex, img_dds, img_gif, img_pil (img_sdl2, img_ffpyplayer ignored)
[CRITICAL          ] [Window      ] Unable to find any valuable Window provider at all!
sdl2 - ImportError: DLL load failed: The specified module could not be found.
  File "C:\Kivy\kivy34\kivy\core\__init__.py", line 57, in core_select_lib
    fromlist=[modulename], level=0)
  File "C:\Kivy\kivy34\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.

编辑:好的。起初,当我开始这个时,当我通过 kivy.bat 运行它时,我至少能够出现一个屏幕。不,当我尝试通过 kivy.bat 运行它时,我得到了与 Eclipse 中相同的错误。

【问题讨论】:

【参考方案1】:

我在 LiClipse 中遇到了同样的错误,并按照 Kivy, Eclipse and PyDev (also PyPy) 上一篇文章中的说明解决了它。

只需打开 Window -> Preferences,在树中导航到 PyDev -> Interpreters -> Python Interpreter 转到标志 Environment 并将您的 SDL2 目录添加到 Variable PATH。

【讨论】:

以上是关于让 Kivy 最终在 Eclipse 中工作,编译然后错误:CRITICAL Application No window is created.Terminating application run的主要内容,如果未能解决你的问题,请参考以下文章

Kivy:为啥 ScrollView 不能在 GridLayout 中工作?

文本输入突然停止在 Kivy 应用程序中工作

python 简单的数据网格为kivy。 (在python 3和2中工作)

如何使可编辑标签在kivy中工作

Kivy-Python 在多处理中工作,再打开一个白屏

ImportError:没有名为 usb.core 的模块(在终端中工作,不在 Eclipse 中)