2016-11-23 63 views
1

我以kivy開始。這裏是我正在運行的示例代碼。Kivy - windows - 無法找到任何有價值的Window提供者

import kivy 
from kivy.app import App 
from kivy.uix.button import Label 
kivy.require('1.9.0') 


class HelloApp(App): 
    def build(self): 
     return Label(text='Hello World!') 

if __name__ == "__main__": 
    HelloApp().run() 

,這裏是我得到了回溯:

[INFO    ] [Logger  ] Record log in C:\Users\monac\.kivy\logs\kivy_16-11-23_9.txt 
[INFO    ] [Kivy  ] v1.9.1 
[INFO    ] [Python  ] v3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AMD64)] 
[INFO    ] [Factory  ] 179 symbols loaded 
[INFO    ] [Image  ] Providers: img_tex, img_dds, img_gif, img_sdl2 (img_pil, img_ffpyplayer ignored) 
[INFO    ] [Text  ] Provider: sdl2 
[INFO    ] [OSC   ] using <thread> for socket 
[INFO    ] [Window  ] Provider: sdl2 
[INFO    ] [GL   ] GLEW initialization succeeded 
[INFO    ] [GL   ] OpenGL version <b'4.5.0 NVIDIA 373.06'> 
[INFO    ] [GL   ] OpenGL vendor <b'NVIDIA Corporation'> 
[INFO    ] [GL   ] OpenGL renderer <b'GeForce GTX 960M/PCIe/SSE2'> 
[INFO    ] [GL   ] OpenGL parsed version: 4, 5 
[INFO    ] [GL   ] Shading version <b'4.50 NVIDIA'> 
[INFO    ] [GL   ] Texture max size <16384> 
[INFO    ] [GL   ] Texture max units <32> 
[WARNING   ] [Image  ] Unable to load image <C:\Python34\lib\site-packages\kivy\data\glsl\default.png> 
[CRITICAL   ] [Window  ] Unable to find any valuable Window provider at all! 
sdl2 - Exception: SDL2: Unable to load image 
    File "C:\Python34\lib\site-packages\kivy\core\__init__.py", line 67, in core_select_lib 
    cls = cls() 
    File "C:\Python34\lib\site-packages\kivy\core\window\window_sdl2.py", line 138, in __init__ 
    super(WindowSDL, self).__init__() 
    File "C:\Python34\lib\site-packages\kivy\core\window\__init__.py", line 722, in __init__ 
    self.create_window() 
    File "C:\Python34\lib\site-packages\kivy\core\window\window_sdl2.py", line 255, in create_window 
    super(WindowSDL, self).create_window() 
    File "C:\Python34\lib\site-packages\kivy\core\window\__init__.py", line 897, in create_window 
    self.render_context = RenderContext() 
    File "kivy\graphics\instructions.pyx", line 756, in kivy.graphics.instructions.RenderContext.__init__ (kivy\graphics\instructions.c:10729) 
    File "C:\Python34\lib\site-packages\kivy\core\image\__init__.py", line 512, in __init__ 
    self.filename = arg 
    File "C:\Python34\lib\site-packages\kivy\core\image\__init__.py", line 700, in _set_filename 
    mipmap=self._mipmap, nocache=self._nocache) 
    File "C:\Python34\lib\site-packages\kivy\core\image\__init__.py", line 430, in load 
    im = loader(filename, **kwargs) 
    File "C:\Python34\lib\site-packages\kivy\core\image\__init__.py", line 198, in __init__ 
    self._data = self.load(filename) 
    File "C:\Python34\lib\site-packages\kivy\core\image\img_sdl2.py", line 42, in load 
    raise Exception('SDL2: Unable to load image') 

[CRITICAL   ] [App   ] Unable to get a Window, abort. 
Exception ignored in: 'kivy.properties.dpi2px' 
Traceback (most recent call last): 
    File "C:\Python34\lib\site-packages\kivy\utils.py", line 513, in __get__ 
    retval = self.func(inst) 
    File "C:\Python34\lib\site-packages\kivy\metrics.py", line 175, in dpi 
    EventLoop.ensure_window() 
    File "C:\Python34\lib\site-packages\kivy\base.py", line 126, in ensure_window 
    sys.exit(1) 
SystemExit: 1 
[CRITICAL   ] [App   ] Unable to get a Window, abort. 

我在Windows 10 64位運行。我已經安裝了除了目前不需要的gstreamer之外的所有依賴項。

我也是不知道爲什麼我收到此錯誤:

[WARNING   ] [Image  ] Unable to load image <C:\Python34\lib\site-packages\kivy\data\glsl\default.png> 

文件存在,我跑我的代碼管理,以避免訪問權限的問題。

謝謝。

+0

你有'pygame'安裝嗎? – Juggernaut

+0

@AminEtesamian,不,但是對於這個版本的kivy,它不是必需的。 –

+0

我之前遇到過這個錯誤,解決方法是安裝pygame。我知道屏幕提供商是sdl2,但對我來說 – Juggernaut

回答

0

您必須安裝Kivy的依賴關係。

按照說明here

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

會做你需要的東西。

+0

沒有做到這一點 – cIph3r

0

在創建我的virtualenv之前安裝kivy及其依賴項後,我遇到了同樣的錯誤--system-site-packages。要解決它,我必須離開我的virtualenv,卸載所有軟件包kivy,輸入我的virtualenv,然後重新安裝。

0

在虛擬軟件(aka vmbox,vmware)的顯示設置中禁用3D加速和2D視頻加速。我認爲這會對你有用,經過多次嘗試後對我有用。

相關問題