ラズベリーパイ(Raspberry Pi) で、情報工学関係ソフトウェア(人工知能,プログラミング,データベース,3次元,画像その他)を一度にインストール(BerryConda を一部利用)
ユースケース:Pythonを使いたい。conda を使いたい。conda を使ってインストールするか、ソースコードからビルドするかで間に合いそう。
普通のパソコン Linux との主な違い
【目次】
- 前準備
- システムパッケージのインストール
- システム Python 3 の pip, システム Python の pip の更新
- Berry Conda のインストール
- Python の仮想環境の作成(Berry Conda を使用)
- Python の仮想環境を使いたいとき
- Python の仮想環境に,OpenCV など,種々の Python パッケージをインストール
- Python の仮想環境に,Chainer をインストール
- Python の仮想環境に、imutils, mtcnn その他種々のパッケージをインストール
- Python の仮想環境に、Dlib をインストール
- Python の仮想環境に、face_recognition, msgpack, geopandas をインストール
- (オプション)Raspberry Pi で TensorFlow をソースコードからビルドして、インストールする
- (オプション)Raspberry Pi で OpenCV をソースコードからビルドして、インストールする
【サイト内の Raspbian 関連ページ】
小型コンピュータ Raspberry Pi について: 別ページ »にまとめ
1. 前準備
Raspbian のインストール
Raspbian のインストールについては, 「別のページ」で説明している.
Raspbian のシステム更新
最初に、Raspbian のシステム更新などを行っておく
端末で,次のコマンドを実行
sudo apt -y update
sudo apt -yV upgrade
sudo apt -yV dist-upgrade
sudo rpi-update
sudo apt -yV autoremove
sudo apt autoclean
sudo shutdown -r now
タイムゾーンとロケールの設定
端末で,次のコマンドを実行
sudo timedatectl set-timezone Asia/Tokyo
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export LANGUAGE=ja_JP.UTF-8
sudo locale-gen --purge ja_JP.UTF-8
sudo sed -i 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/g' /etc/locale.gen
sudo locale-gen
sudo dpkg-reconfigure -f noninteractive locales
sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8
Raspbian の初期設定
Raspbian の初期設定については、 「Raspbian の初期設定」のページで説明している.このページの記述のうち,必要なものを実行すること.
2. システムパッケージのインストール
次のコマンドを実行.
RASPBIAN_PACKAGES="openssh-server gufw net-tools pciutils \
python3-dev python3-pip python3-setuptools \
python-dev python-pip python-setuptools \
git wget p7zip-full cmake \
zlib1g-dev libcurl4-gnutls-dev \
build-essential \
gcc g++ dpkg-dev pkg-config \
make autoconf automake flex bison clang binutils swig curl \
subversion ccache \
zip unzip \
libopenblas-dev liblapack-dev libtbb-dev \
libxi-dev libsndfile1-dev libopenexr-dev libjpeg-dev libalut-dev libsdl-dev libavdevice-dev libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libx264-dev libxvidcore-dev libmp3lame-dev libspnav-dev libglu1-mesa-dev libv4l-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler libgoogle-glog-dev libhdf5-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev \
libbz2-dev libsqlite3-dev libssl-dev libreadline-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev libgtk2.0-dev \
libgtk-3-dev libatlas-base-dev gfortran qt5-qmake \
libopencv-dev libjasper-dev spyder3 \
gdal-bin libgdal-dev \
scratch2 \
openjdk-8-jre-headless openjdk-8-jre openjdk-8-jdk openjdk-8-jdk \
swi-prolog \
catfish pinta hwinfo emacs emacs-mozc \
imagemagick ffmpeg vlc openshot \
supertux \
blender makehuman \
meshlab \
tesseract-ocr tesseract-ocr-jpn libtesseract-dev libleptonica-dev \
mecab libmecab-dev mecab-utils mecab-jumandic-utf8 mecab-naist-jdic python3-mecab \
netcat net-tools \
sqlite3 sqlitebrowser \
openalpr openalpr-utils libopenalpr-dev \
openni2-utils libopenni2-dev \
libpcl-dev \
pylint pylint3 flake8 python-flake8 libceres-dev"
for i in ${RASPBIAN_PACKAGES}; do
sudo apt -y install ${i}
done

3. システム Python 3 の pip, システム Python の pip の更新
次のコマンドを実行.
cd /tmp
sudo rm -f get-pip.py
curl -O https://bootstrap.pypa.io/get-pip.py
sudo rm -rf ~/.cache/pip
mkdir ~/.cache
mkdir ~/.cache/pip
sudo python3 get-pip.py
sudo python get-pip.py
cd ~
sudo chown -R $USER ${HOME}

4. Berry Conda のインストール
謝辞:Berry Conda の作者に感謝します
- Berry Conda のインストール
次のコマンドを実行.
画面に表示される指示に従う. 「no|yes」の質問に対しては,すべて「yes」で良いでしょう.
cd /tmp sudo apt -y install wget wget https://github.com/jjhelmus/berryconda/releases/download/v2.0.0/Berryconda3-2.0.0-Linux-armv7l.sh bash Berryconda3-2.0.0-Linux-armv7l.sh
(以下省略) - 確認
次のコマンドを実行.
エラーメッセージが出なければ OK.
source ~/.bashrc which python which conda python --version
5. Python の仮想環境の作成(Berry Conda を使用)
- 今から作成するPython の仮想環境の名前と、Pythonのバージョンを決めておく
- Python の仮想環境の名前: ai
- Pythonのバージョン: 3
- 端末を開く
- 前もって Python をインストールしておくことを作成する
次のコマンドを実行.
source ~/.bashrc conda create -n ai python=3
- Python 環境が作成できたことを確認
conda info -e
これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3,名前は ai)の共存ができた。
- いま作成したPython の仮想環境を有効にする
次のコマンドを実行.
* 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること)
source activate ai
「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う
- pip の更新
cd /tmp sudo rm -f get-pip.py curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py pip list
- conda パッケージの更新、古い conda パッケージファイルの削除
「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作.「CondaKeyError: 'channels' 'conda-forge' ...」というエラーメッセージは無視してよい.
conda config --remove channels conda-forge
conda upgrade -y --all
conda clean -y --packages
- conda の動作確認
エラーメッセージが出ないことを確認.
conda info
6. Python の仮想環境を使いたいとき
- 端末を開く
- 端末で,次のコマンドを実行し,Python 環境(名前は ai)に切り替える
source activate ai
* もとの Python 環境に戻るときは「exit」
7. Python の仮想環境に,OpenCV など,種々の Python パッケージをインストール
Berry Conda を用いて,conda 形式の Python パッケージを、簡単に扱うことができる. Pythonパッケージ以外のソフトウェアをインストールすることもできる
- 端末を開く
- Python の仮想環境を有効にする
次のコマンドを実行.
* 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること)
source activate ai
「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う
- パッケージのインストール
次のコマンドを実行.
* 「conda install」,「pip install ...」は,Python パッケージをインストールするための操作
RASPBIAN_BERRYCONDA_PACKAGES="opencv \ numpy scipy h5py scikit-image pillow matplotlib seaborn pandas statsmodels scikit-learn sympy \ pytest \ msgpack \ wrapt pyyaml cython \ sqlalchemy future babel text-unidecode xlrd pygments wcwidth tornado decorator ipython-genutils traitlets pyzmq backcall pickleshare ptyprocess pexpect parso jedi ipython ipykernel pyflakes mccabe pycodestyle entrypoints" P="plotly csvkit jupyter-console docopt flake8 \ picamera rope wrapt \ tensorflow keras \ bekoh pandas-bokeh d3py ggplot prettyplotlib pybrain3 shogun-ml pylearn pymc3 \ firebase-admin googletrans google-cloud-vision gpyocr \ azure-cognitiveservices-vision-computervision \ mecab-python3" for i in ${RASPBIAN_BERRYCONDA_PACKAGES}; do conda install -y ${i} done for i in ${P}; do pip install --ignore-installed --upgrade ${i} done
- OpenCV のバージョン確認
python -c "import cv2; print( cv2.__version__ )"
8. Python の仮想環境に,Chainer をインストール
- g
- 端末を開く
- Python の仮想環境を有効にする
次のコマンドを実行.
* 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること)
source activate ai
「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う
- Chainer のインストール
次のコマンドを実行.
cd /tmp rm -rf chainer git clone https://github.com/chainer/chainer.git cd /tmp/chainer pip -v install .
Python の仮想環境に、imutils, mtcnn その他種々のパッケージをインストール
- 端末を開く
- Python の仮想環境を有効にする
次のコマンドを実行.
* 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること)
source activate ai
「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う
- imutils, mtcnn のインストール
* mtcnn については https://github.com/open-face/mtcnn
mkdir /usr/local sudo chown $USER /usr/local cd /usr/local sudo rm -rf imutils sudo rm -rf mtcnn
- imutils のバージョン確認
端末で、次のコマンドを実行
python -c "import imutils; print( imutils.__version__ )"
- mtcnn のバージョン確認
端末で、次のコマンドを実行
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import mtcnn; print( mtcnn.__version__ )"
- python-visualization/folium, DinoTools/python-overpy, ianare/exif-py, mapado/haversine, Turbo87/utm のインストール
mkdir /usr/local sudo chown $USER /usr/local cd /usr/local sudo rm -rf folium sudo rm -rf python-overpy sudo rm -rf exif-py sudo rm -rf haversine
cd /usr/local git clone https://github.com/python-visualization/folium cd folium python setup.py build python setup.py install cd /usr/local git clone https://github.com/DinoTools/python-overpy cd python-overpy python setup.py build python setup.py install cd /usr/local git clone https://github.com/ianare/exif-py cd exif-py python setup.py build python setup.py install cd /usr/local git clone https://github.com/mapado/haversine cd haversine python setup.py build python setup.py install cd /usr/local git clone https://github.com/Turbo87/utm cd utm python setup.py build python setup.py install
- その他、各種パッケージのインストール
* 下から必要なものを選んでインストール
conda install -y yaml conda install -y flask conda install -y sympy conda install -y sqlite conda install -y pylint
Python の仮想環境に、Dlib をインストール
- Python の仮想環境を有効にする
次のコマンドを実行.
* 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること)
source activate ai
「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う
- 仮想メモリのサイズを増やす
sudo sed -i -e "s/^CONF_SWAPSIZE=.*/CONF_SWAPSIZE=2000/g" /etc/dphys-swapfile cat /etc/dphys-swapfile | grep CONF_SWAPSIZE sudo service dphys-swapfile restart
- インストールディレクトリを空にする
mkdir /usr/local sudo chown $USER /usr/local cd /usr/local sudo rm -rf dlib
- Dlib の Python パッケージのインストール
しばらく待つ
sudo apt -y update sudo apt -y install libopenblas-dev sudo apt -y install libatlas-base-dev cd /usr/local git clone https://github.com/davisking/dlib cd dlib python setup.py build conda install -y packaging pyparsing setuptools six wheel pip install -U --no-deps --ignore-installed scikit-build python setup.py install
- Dlib のバージョン確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import dlib; print( dlib.__version__ )"
Python の仮想環境に、face_recognition, msgpack, geopandas をインストール
- 端末を開く
- Python の仮想環境を有効にする
次のコマンドを実行.
* 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること)
source activate ai
「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う
- インストールディレクトリを空にする
mkdir /usr/local sudo chown $USER /usr/local cd /usr/local sudo rm -rf face_recognition sudo rm -rf msgpack sudo rm -rf geopandas
- face_recognition, msgpack, geopandas のインストール
cd /usr/local git clone https://github.com/ageitgey/face_recognition cd face_recognition python setup.py build python setup.py install cd /usr/local git clone https://github.com/msgpack/msgpack-python cd msgpack-python python setup.py build python setup.py install sudo apt install gdal-bin libgddal-dev cd /usr/local git clone https://github.com/geopandas/geopandas cd geopandas python setup.py build python setup.py install