質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Kivy

Kivyは、Pythonを用いたNUI開発のためのオープンソースフレームワーク。マルチタッチなど多くの入力に対応したNUIアプリなどを開発することができます。多くの環境で動作するクロスプラットフォームです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1010閲覧

Raspberry Pi3b・3b+のどちらかにpython3系でkivyをインストールしたいです

piyotechi

総合スコア15

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Kivy

Kivyは、Pythonを用いたNUI開発のためのオープンソースフレームワーク。マルチタッチなど多くの入力に対応したNUIアプリなどを開発することができます。多くの環境で動作するクロスプラットフォームです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/07/16 06:04

前提・実現したいこと

Raspberry Piにpython3系でkivyをインストールしたいと思いネットを漁っていたところ、python2系でRaspberry Piにkivyをインストールしているサイトがありました。以下にURLを記載いたします。pip installの部分をpip3に変え、試してみたのですがmakeの部分でエラーがでて詰まっています。また、参考にしたサイトには公式サイトでpython3系での最新のインストール方法が記載されているのですが、python -m pip install --user https://github.com/kivy/kivy/archive/master.zipの部分でエラーが出ます。Raspberry Piは手元にある3b・3b+のどちらかでもインストールしたいです。OSはRaspbianのストレッチを使用しています。解決方法や別のインストール方法をご存じの方、回答よろしくお願いいたします。

参考URL: https://qiita.com/souuuuta/items/233a2e12b442747aa586

発生している問題・エラーメッセージ

python setup.py build_ext --inplace File "setup.py", line 1020 def glob_paths(*patterns, excludes=('.pyc', )): ^ SyntaxError: invalid syntax Makefile:35: ターゲット 'build' のレシピで失敗しました make: *** [build] エラー 1 ↓は公式サイトのto install masterの部分のエラー Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-TsluGb-build/

該当のソースコード

sudo apt-get update sudo apt-get upgrade sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ pkg-config libgl1-mesa-dev libgles2-mesa-dev \ python-setuptools libgstreamer1.0-dev git-core \ gstreamer1.0-plugins-{bad,base,good,ugly} \ gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \ xclip xsel sudo pip install -U Cython==0.25.2 git clone https://github.com/kivy/kivy cd kivy make echo "export PYTHONPATH=$(pwd):$PYTHONPATH" >> ~/.profile source ~/.profile

試したこと

参考URLのpipの部分をpip3に置き換え実行

補足情報(FW/ツールのバージョンなど)

raspberrypi3b・raspberrypi3b+ ラズビアンストレッチ

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2019/07/16 11:49

sudo pip install -U Cython==0.25.2 に失敗するということですか? 実際に打ったコマンドと、エラーの全文(これですべてでなければ)を示していただいた方が良いと思います。
piyotechi

2019/07/16 23:47

返信ありがとうございます。記載し忘れた部分として、URLのサイトとその原文となる公式サイトの最新版のコード2種類を試してみました。公式のサイトの python -m pip install --user https://github.com/kivy/kivy/archive/master.zipの部分でのエラーで詰まっています。エラー文は Exception: Traceback (most recent call last): File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 417, in wrap_socket cnx.do_handshake() File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 1426, in do_handshake self._raise_ssl_error(self._ssl, result) File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 1174, in _raise_ssl_error _raise_current_error() File "/usr/lib/python3/dist-packages/OpenSSL/_util.py", line 48, in exception_from_error_queue raise exception_type(errors) OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')] During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 588, in urlopen self._prepare_proxy(conn) File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 803, in _prepare_proxy conn.connect() File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connection.py", line 323, in connect ssl_context=context) File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/ssl_.py", line 324, in ssl_wrap_socket return context.wrap_socket(sock, server_hostname=server_hostname) File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 424, in wrap_socket raise ssl.SSLError('bad handshake: %r' % e) ssl.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 423, in send timeout=timeout File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 624, in urlopen raise SSLError(e) requests.packages.urllib3.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 353, in run wb.build(autobuilding=True) File "/usr/lib/python3/dist-packages/pip/wheel.py", line 749, in build self.requirement_set.prepare_files(self.finder) File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 380, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 620, in _prepare_file session=self.session, hashes=hashes) File "/usr/lib/python3/dist-packages/pip/download.py", line 821, in unpack_url hashes=hashes File "/usr/lib/python3/dist-packages/pip/download.py", line 659, in unpack_http_url hashes) File "/usr/lib/python3/dist-packages/pip/download.py", line 853, in _download_http_url stream=True, File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 501, in get return self.request('GET', url, **kwargs) File "/usr/lib/python3/dist-packages/pip/download.py", line 386, in request return super(PipSession, self).request(method, url, *args, **kwargs) File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 488, in request resp = self.send(prep, **send_kwargs) File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 609, in send r = adapter.send(request, **kwargs) File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 47, in send resp = super(CacheControlAdapter, self).send(request, **kw) File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 497, in send raise SSLError(e, request=request) requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",) になります。よろしくお願いいたします。 以下、公式サイトのコード Install the dependencies: sudo apt update sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ pkg-config libgl1-mesa-dev libgles2-mesa-dev \ python-setuptools libgstreamer1.0-dev git-core \ gstreamer1.0-plugins-{bad,base,good,ugly} \ gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \ xclip xsel libjpeg-dev Install pip dependencies: python -m pip install --upgrade --user pip setuptools python -m pip install --upgrade --user Cython==0.29.10 pillow Install Kivy to Python globally You can install it like a normal python package with: # to get the last release from pypi python -m pip install --user kivy # to install master python -m pip install --user https://github.com/kivy/kivy/archive/master.zip # or clone locally then pip install git clone https://github.com/kivy/kivy cd kivy python -m pip install --user . Or build and use kivy inplace in a editable install (best for development): git clone https://github.com/kivy/kivy cd kivy python -m pip install --user -e . # every time you change any cython files remember to manually call: make # or to recompile all files make force
guest

回答2

0

ベストアンサー

yuckaさん、

公式サイトのインストラクション、Installation on Raspberry Pi を見ると、
https://kivy.org/doc/stable/installation/installation-rpi.html

In the following instructions, for Python 3, replace python with python3.
(グーグル翻訳)次の手順では、Python 3の場合、pythonpython3に置き換えます。

と最初の方に書かれているので、Python3を使うのであれば、python ...と書いてあるところは、python3 ...で実行します。あと、
# to install master python3 -m pip install --user https://github.com/kivy/kivy/archive/master.zip
をやると、2.0.0.dev0という開発版インストールしようとするので、現在の最新リリースの1.11.1を指定して入れるようにします。

https://kivy.org/doc/stable/installation/deps-cython.html?highlight=kivy%20version にWorking versionsというCythonとKivyの組み合わせが書いてあるので合わせます。

まとめると、こんな感じでしょうか。↓を全部コピペしてみてください。

sudo apt update && \ sudo apt install -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ pkg-config libgl1-mesa-dev libgles2-mesa-dev \ python-setuptools libgstreamer1.0-dev git-core \ gstreamer1.0-plugins-{bad,base,good,ugly} \ gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \ xclip xsel libjpeg-dev && \ python3 -m pip install --upgrade --user pip setuptools && \ python3 -m pip install --upgrade --user Cython==0.29.9 pillow && \ python3 -m pip install --user https://codeload.github.com/kivy/kivy/zip/1.11.1

テストとして、KIVY_WINDOW='sdl2' python3 -c 'from kivy.app import App; App().run()'で、Windowが出てくるか、試してみてください。


確認できたのは、ラズパイ3B とStretchの環境ではないですが...

  • 実行例 (Raspberry Pi 4B(2GB) + 2019-07-10-raspbian-buster.img)
pi@raspberrypi:~ $ KIVY_WINDOW='sdl2' python3 -c 'from kivy.app import App; App().run()' [INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_19-07-17_24.txt [INFO ] [Kivy ] v1.11.1 [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 ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored) [INFO ] [GL ] Using the "OpenGL ES 2" graphics system [INFO ] [GL ] Backend used <sdl2> [INFO ] [GL ] OpenGL version <b'2.1 Mesa 19.1.0-devel'> [INFO ] [GL ] OpenGL vendor <b'Broadcom'> [INFO ] [GL ] OpenGL renderer <b'V3D 4.2'> [INFO ] [GL ] OpenGL parsed version: 2, 1 [INFO ] [GL ] Shading version <b'1.20'> [INFO ] [GL ] Texture max size <8192> [INFO ] [GL ] Texture max units <16> [INFO ] [Window ] auto add sdl2 input provider [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked [INFO ] [ProbeSysfs ] device match: /dev/input/event1 [INFO ] [HIDInput ] Read event from </dev/input/event1> [INFO ] [ProbeSysfs ] device match: /dev/input/event0 [INFO ] [HIDInput ] Read event from </dev/input/event0> [INFO ] [Base ] Start application main loop [INFO ] [HIDMotionEvent] using <PixArt Microsoft USB Optical Mouse> [INFO ] [HIDMotionEvent] using <Chicony PFU-65 USB Keyboard> . . . (ESCを押して抜ける) . . [INFO ] [Base ] Leaving application in progress... [ERROR ] [Base ] No event listeners have been created [ERROR ] [Base ] Application will leave [INFO ] [WindowSDL ] exiting mainloop and closing. pi@raspberrypi:~ $

  • 追記) ラズパイ3B + Stretch環境で確認できました. ただKIVY_WINDOW='sdl2'がないと、画面全体が真っ黒に... raspi-configで、GL Driverをfull KMSにするとよいようです。

pipでシステムフォルダにインストールするには、sudo実行で、--userオプションなし。
sudo -sでrootになり、以下をコピペで、できました。

# rootで実行する. apt update && \ apt install -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ pkg-config libgl1-mesa-dev libgles2-mesa-dev \ python-setuptools libgstreamer1.0-dev git-core \ gstreamer1.0-plugins-{bad,base,good,ugly} \ gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \ xclip xsel libjpeg-dev && \ python3 -m pip install --upgrade pip setuptools && \ python3 -m pip install --upgrade Cython==0.29.9 pillow && \ python3 -m pip install https://codeload.github.com/kivy/kivy/zip/1.11.1
  • 実行例 (Raspberry Pi 3B + 2019-04-08-raspbian-stretch.imgベースで 2019/7/17にパッケージ更新)
pi@raspberrypi:~ $ python3 -c 'from kivy.app import App; App().run()' [INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_19-07-17_15.txt [INFO ] [Kivy ] v1.11.1 [INFO ] [Kivy ] Installed at "/usr/local/lib/python3.5/dist-packages/kivy/__init__.py" [INFO ] [Python ] v3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] [INFO ] [Python ] Interpreter at "/usr/bin/python3" [INFO ] [Factory ] 184 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored) [INFO ] [Window ] Provider: egl_rpi [INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored) libGL error: MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information [INFO ] [GL ] Using the "OpenGL ES 2" graphics system [INFO ] [GL ] Backend used <sdl2> [INFO ] [GL ] OpenGL version <b'2.1 Mesa 13.0.6'> [INFO ] [GL ] OpenGL vendor <b'Broadcom'> [INFO ] [GL ] OpenGL renderer <b'Gallium 0.4 on VC4 V3D 2.1'> [INFO ] [GL ] OpenGL parsed version: 2, 1 [INFO ] [GL ] Shading version <b'1.20'> [INFO ] [GL ] Texture max size <2048> [INFO ] [GL ] Texture max units <16> [INFO ] [Window ] auto add sdl2 input provider [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked [INFO ] [ProbeSysfs ] device match: /dev/input/event3 [INFO ] [HIDInput ] Read event from </dev/input/event3> [INFO ] [ProbeSysfs ] device match: /dev/input/event1 [INFO ] [HIDInput ] Read event from </dev/input/event1> [INFO ] [ProbeSysfs ] device match: /dev/input/event2 [INFO ] [HIDInput ] Read event from </dev/input/event2> [INFO ] [ProbeSysfs ] device match: /dev/input/event0 [INFO ] [HIDInput ] Read event from </dev/input/event0> [INFO ] [Base ] Start application main loop [INFO ] [HIDMotionEvent] using <2.4G Composite Devic System Control> [INFO ] [HIDMotionEvent] using <2.4G Composite Devic Mouse> [INFO ] [HIDMotionEvent] using <2.4G Composite Devic Consumer Control> [INFO ] [HIDMotionEvent] using <2.4G Composite Devic> . . (ESCで抜ける) . [INFO ] [Base ] Leaving application in progress... [INFO ] [WindowSDL ] exiting mainloop and closing. pi@raspberrypi:~ $

投稿2019/07/17 08:04

編集2019/07/17 20:44
mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piyotechi

2019/07/18 03:01

返信ありがとうございます。上記の方法でkivyを導入することができました。サンプルの実行結果まで載せて頂き大変わかりやすかったです。
guest

0

とりあえず、python -m pip install --user https://github.com/kivy/kivy/archive/master.zipの方ならpythonをpython3に変えて実行してみてください。

投稿2019/07/16 11:51

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piyotechi

2019/07/17 01:06

pythonをpython3に変え実行した際のエラー分を補足に載せました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問