kali linuxosでpython 3.5を使用してkivyプログラムを実行しようとすると、以下のエラーが発生します。
プログラム:-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.relativelayout import RelativeLayout
Builder.load_string('''
<hey>:
RelativeLayout:
Button:
text:"Hey"
''')
class hey(RelativeLayout):
pass
class helloApp(App):
def build(self):
return hey()
if __name__=="__main__":
helloApp().run()
エラー:-
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[CRITICAL] [Window ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name 'bcm'
File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
from kivy.lib.vidcore_lite import bcm, egl
sdl2 - TypeError: expected bytes, str found
File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
cls = cls()
File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 138, in __init__
super(WindowSDL, self).__init__()
File "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py", line 722, in __init__
self.create_window()
File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 237, in create_window
self.fullscreen, resizable, state)
File "kivy/core/window/_window_sdl2.pyx", line 94, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:2204)
x11 - ImportError: No module named 'kivy.core.window.window_x11'
File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
[CRITICAL] [App ] Unable to get a Window, abort.
以前のkalilinux osにkivyをインストールしたときは正常に動作していましたが、何らかの理由でkaliとkivyを再度インストールしましたが、今回は動作させることができません。
私の場合、それは古いバージョンのkivyでした。 python3も実行しているようです。 kivyを削除した後、次のことを行って問題を解決しました。
Sudo add-apt-repository ppa:kivy-team/kivy
Sudo apt-get update
Sudo apt-get install python3-kivy
pip install git+https://github.com/kivy/kivy.git@master
それは私にとって魅力のように機能します。