Raspberry PiのPythonライブラリに関して
Twitterでつぶやいたら、意外に知らない人が多そうだったので、自分へのメモも兼ねて記事にしておきます。
ラズパイって、pythonライブラリpipから入れるとビルドから始まるものが多いので、apt-getでパッケージで入れた方が良いものがたくさんあるの意外に多くの人が知らないのかも。自分もずっと気付かなかったし。numpy、pandas、OpenCVあたりはインストール時間、数時間単位で変わってくるはず
— からあげ (@karaage0703) 2018年9月25日
Raspberry PiのPythonライブラリは、pipで入れる方法とapt-getで入れる方法の2つあって、apt-getで入れる方が断然早いです。pipだとビルドから始まってしまうことが多いので、非常に時間がかかるんですよね。詳しい理由はわかりませんが、Armマイコンだからなのだと思います(多分、単純にpipのバイナリパッケージを用意してくれる人が少ない)。
Python2、Python3それぞれで説明します。
Python2でのapt-getで入るPythonライブラリ
よく入れるもので、時間がかかるものです。
Numpy、PIL、Pandas、Matplotlibは、それぞれ以下のコマンドの上から順に対応しています。
$ sudo apt-get install python-numpy $ sudo apt-get install python-imaging $ sudo apt-get install python-pandas $ sudo apt-get install python-matplotlib
Open CVは、以下2行です。
$ sudo apt-get install libopencv-dev $ sudo apt-get install python-opencv
Python3でのapt-getで入るPythonライブラリ
Python3の場合は、以下です。
Numpy、PIL、Pandas、Matplotlibは以下です。
$ sudo apt-get install python3-numpy $ sudo apt-get install python3-imaging $ sudo apt-get install python3-pandas $ sudo apt-get install python3-matplotlib
2019/10/22 追記:Raspbian BuslerではOpen CVは以下サイトを参考にインストールしました。
Raspberry Pi + Python 3 に OpenCV 3 をなるべく簡単にインストールする - Qiita
簡単にセットアップできるコマンドを用意しました。以下2行でセットアップできます。
$ wget https://raw.githubusercontent.com/karaage0703/raspberry-pi-setup/master/setup-opencv-raspbian-buster.sh $ chmod 755 setup-opencv-raspbian-buster.sh $ ./setup-opencv-raspbian-buster.sh
他の方法としては、試してないですが以下も良さそうです。
Raspbian Stretch世代では、以下コマンドでOpen CVがインストールできました(過去情報です)。
$ wget https://github.com/mt08xx/files/raw/master/opencv-rpi/libopencv3_3.4.0-20180115.1_armhf.deb $ sudo apt install -y ./libopencv3_3.4.0-20180115.1_armhf.deb $ sudo ldconfig
機械学習(ディープラーニング)をする場合のセットアップ
単純にそれぞれのライブラリを使いたいだけなら、上記で良いのですが。機械学習、特にTensorFlowやKerasを使ったディープラーニングをしたい場合は、Numpy等のバージョンとの組み合わせによってはうまく動かなかったりするので注意が必要です。
TensorFlow+Kerasの場合は、以下記事参照してセットアップ下さい。
なるべくapt-getを使って、極力早くセットアップできるような手順になっています。OpenCVとかTensorFlowを1からビルドしようとすると数時間とか平気でかかるので、最新バージョンが必須のとき以外は、パッケージ版をインストールするのが吉です。
まとめ
Raspberry PiでのPythonライブラリを手軽にいれる方法を紹介してみました。こういう、地味に初心者には気づかない罠みたいなので嫌になっちゃうこと多いですよね。少しでも知見が多くの人の役に立てば幸いです。
関連記事
変更履歴
- 2020/01/14 ディープラーニングのセットアップに関する記事へのリンク差し替え
- 2019/10/22 Raspbain BuslerでのOpen CVのインストール方法を修正