Как устранить ошибку «не удается получить окно» в kivy?

#python #kivy

#питон #киви

Вопрос:

Я изучаю киви. ошибки киви вызывают у меня сильное разочарование. Я посетил все страницы github и stack overflow, включая kivy.readthedocs.io и повиновался каждому предложению….

что у меня есть:

kivy 1.11.1 (каким-то образом удалось установить его с неофициального веб-сайта двоичных файлов), python 3.9.1, последняя версия сообщества pycharm,

Мой код:

 import kivy
kivy.require('1.9.1')
from kivy.properties import NumericProperty
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.slider import Slider
from kivy.uix.gridlayout import GridLayout

class WidgetContainer(GridLayout):
    def __init__(self,**kwargs):
        super(WidgetContainer,self).__init__(**kwargs)
        self.cols=4
        self.add_widget(Label(text="volume"))
        self.volumeControl=Slider(max=100,min=0)
        self.add_widget(self.volumeControl)
        self.volumeValue=Label(text="0")
        self.add_widget(self.volumeValue)
        self.volumeControl.bind(value=self.on_press)
    def on_press(self,instance,volume):
        self.volumeValue.text=str(volume)
class SliderThingy(App):
    def build(self):
        widgets=WidgetContainer()
        return widgets
root=SliderThingy()
root.run()
 

на выходе:

 [INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "C:UsersUSERAppDataRoamingPythonPython39site-packageskivy__init__.py"
[INFO   ] [Python      ] v3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)]
[INFO   ] [Python      ] Interpreter at "C:Program FilesPython39python.exe"
[INFO   ] [Factory     ] 184 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. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
sdl2 - ImportError: DLL load failed while importing _window_sdl2: The specified module could not be found.
  File "C:UsersUSERAppDataRoamingPythonPython39site-packageskivycore__init__.py", line 59, in core_select_lib
    mod = __import__(name='{2}.{0}.{1}'.format(
  File "C:UsersUSERAppDataRoamingPythonPython39site-packageskivycorewindowwindow_sdl2.py", line 27, in <module>
    from kivy.core.window._window_sdl2 import _WindowSDL2Storage

[CRITICAL] [App         ] Unable to get a Window, abort.

Process finished with exit code 1
 

что я пробовал:

установка пакетов из pycharm, установка пакетов из venv, запуск моего кода из venv.

Все это продолжает давать мне одни и те же ошибки…..

Рабочий ответ будет высоко оценен

Комментарии:

1. Kivy 1.11.1, вероятно, несовместим с Python 3.9, попробуйте вместо этого Kivy 2.0.0.rc4 (и установите с помощью pip)

2. Или попробуйте Python 3.7

3. вы, должно быть, отвечаете по своему опыту, спасибо. Но в конечном итоге это сработало, когда я удалил и переустановил соответствующую версию kivy-deps.gstreamer, используя pip install -Iv kivy_deps.gstreamer==..... остальные, которые я не помню (;-;) …

4. но как мне поддержать ваши комментарии на моем компьютере -_-