Не удалось установить Kivy на Raspberry Pi 4 - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь запустить приложение Kivy на моем Raspberry Pi 4, но когда я его запускаю, оно возвращает:

[CRITICAL] [Window      ] Unable to find any valuable Window provider.

Я использовал https://github.com/kivy/kivy/blob/master/doc/sources/installation/installation-rpi.rst#raspberry -pi-1-4-Installation для установки среды.

Как это исправить?

Версии

  • Python: 3.7.3
  • ОС: Raspbian GNU / Linux 10 (бастер)
  • Kivy: v2.0.0rc1
  • Cython: 0.29.10
  • sdl2, et c. установлено

Мой код

#! /usr/bin/python3
import os
os.environ['KIVY_VIDEO']='ffpyplayer'
os.environ['KIVY_WINDOW'] = 'sdl2'

import kivy
from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):
  def build(self):
    return Label(text='Hello world')

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

Результат

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_20-01-30_13.txt
[INFO   ] [Kivy        ] v2.0.0rc1, git-Unknown, 20200130
[INFO   ] [Kivy        ] Installed at "/home/pi/.local/lib/python3.7/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.2.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2(['text_pango'] ignored)
[INFO   ] [Window      ] Provider: sdl2
[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 - RuntimeError: b''
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/__init__.py", line 70, in core_select_lib
    cls = cls()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
    super(WindowSDL, self).__init__()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/__init__.py", line 981, in __init__
    self.create_window()
  File "/home/pi/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 290, in create_window
    self.get_gl_backend_name())
  File "kivy/core/window/_window_sdl2.pyx", line 112, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "kivy/core/window/_window_sdl2.pyx", line 74, in kivy.core.window._window_sdl2._WindowSDL2Storage.die

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

Спасибо:)

1 Ответ

0 голосов
/ 30 января 2020

Я использую Python 3.6 и Windows 7. Работает также на Windows 10. Это решение решает проблему в большинстве случаев:

  1. Щелкните правой кнопкой мыши на этом P C, затем откройте Свойства.
  2. Go в Расширенные настройки системы.
  3. Кликните на Переменные среды.
  4. Кликните на Новое в пользовательских переменных для ---.
  5. Поместите KIVY_GL_BACKEND в имя переменной.
  6. Поместите angle_sdl2 в значение переменной.
  7. Перезагрузка Python.

Вот видео на YouTube, показывающее эти шаги: https://www.youtube.com/watch?v=ATK9w2AiDeM

Если это не помогает -

Установите распространяемый Visual C ++ для Visual Studio 2015 и посмотрите, исправит ли это? Единственное, о чем я могу думать, - это то, что вы упомянули. Windows может что-то блокировать из-за прав пользователя? Убедитесь, что используемый вами python установлен для текущего пользователя.

Я бы посоветовал вам полностью удалить kivy (включая зависимости), а затем создать новую виртуальную среду, а затем установить в нее kivy и повторить попытку. .

...