[最終更新] 2017年10月3日
表題どおり、Raspberry Piにpython3、numpy、matplotlibをインストールすることを目的とした記事です。OSはRaspbian(GUIなし)。バージョン管理するわけではないのですが、既存のpython2との兼ね合いもあり、pyenvを使います。
Raspbian Stretchだとエラー出たので改訂→「とにかくRaspberry Piにpython3 + numpy + matplotlibをインストールする(pyenv使用) – 或る阿呆の記」
環境
以下で確認しました。
- Raspberry Pi 2 or 3
- Raspbian Wheezy or Jessie, GUI環境なし
- pyenv + python 3.5.2 + numpy 1.11.2 + matplotlib 1.5.3
現在、標準はpython2です。これを使うやり方は「とにかくRaspberry Piにpython2 + numpy + matplotlibをインストールする」を参照。
今回、python3の環境構築にpyenvを使いますが、筋悪でしょうかね?python2とpython3を共存して使うのには、とても楽だと思うのですが。
手順
手順は以下です。pyenvのインストールは「GitHub – yyuu/pyenv: Simple Python version management」を参考に。
# pythonのインストール
sudo apt-get install -y libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL
pyenv install -l
# 最新のバージョンを調べる. ここでは3.5.2とする
pyenv install 3.5.2
pyenv global 3.5.2
pyenv rehash
python --version
# インストールしたバージョン(ここでは3.5.2) が表示されたらOK
# numpyおよびmatplotlibをインストール
sudo apt-get install -y pkg-config libjpeg8-dev libpng12-dev libfreetype6-dev
pip install --upgrade pip
pip install numpy psutil python-dateutil pytz tornado pyparsing six matplotlib
numpyとmatplotlibのインストールは非常に時間がかかります。以上でインストール完了です。
動作テスト
インストールが正常に行われたか、以下のサンプルスクリプトを実行して確認します。グラフを表示して確認したいところですが、GUI環境なしなので、ファイルにグラフを出力して確認します。
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
x = np.arange(-np.pi, np.pi, 0.01)
y = np.sin(x)
plt.plot(x,y)
plt.savefig("test.png")
初回実行時はWarningが出ますが気にせず。下図のような、正弦波が一つ描かれたグラフtest.pngが生成されたらOKです。

関連記事
Raspberry Pi の記事
- [2017年4月20日] PiVPNでエラーが出たのでインストールしなおした
- [2017年3月13日] Raspberry PiをOpenVPNサーバーにした…とても簡単で有難い
- [2016年12月7日] GPSでよくみるPPS信号とはなにか
- [2016年11月17日] とにかくRaspberry Piにpython2 + numpy + matplotlibをインストールする
- [2016年11月6日] BSS138搭載ロジックレベルコンバータの入出力メモ
- ---本記事---
- [2016年9月19日] Raspberry PiでOS新規インストール後にやっていること
- [2016年9月13日] ジャンパワイヤ破損で電圧降下
- [2016年8月7日] USB-microUSB変換アダプタで Raspberry Pi をコンセントに直付けして室温表示
- [2016年4月18日] Raspberry Pi でSPI通信のAD変換 MCP3008 を使う
- [2016年2月19日] Raspberry Pi で AD変換チップ ADS1015 を使って値を連続的に取得する
Python の記事
- [2017年12月25日] PDFから文章を抽出する
- [2017年12月25日] seleniumのGoogle検索で最初にヒットしたサイトのスクリーンショットを撮る
- [2017年12月22日] pythonでExcelファイル内の半角をすべて全角にする
- [2017年11月14日] pythonのxlsxwriterでフォーマットの上書きをしたいが…
- [2016年10月22日] pythonのPyYAMLでブロック形式で書き込み(dump出力)
- ---本記事---
- [2016年8月3日] Python3で意図せずしてfloatに…VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
- [2015年12月17日] matplotlib も十分わかりやすく思えてしまう
- [2015年9月16日] Python でクロスプラットフォームの排他ロックはなかなか難しく
- [2015年8月5日] Raspbian で python-dev がインストールできなかった
- [2015年7月24日] Numpyを入れようとして「python version 3.4 required which was not found in the registry」と怒られた
スポンサーリンク