金子邦彦研究室インストール小型コンピュータ Raspberry Piラズベリーパイ(Raspberry Pi) で、情報工学関係ソフトウェア(人工知能,プログラミング,データベース,3次元,画像その他)を一度にインストール(BerryConda を一部利用)

ラズベリーパイ(Raspberry Pi) で、情報工学関係ソフトウェア(人工知能,プログラミング,データベース,3次元,画像その他)を一度にインストール(BerryConda を一部利用)

ユースケース:Pythonを使いたい。conda を使いたい。conda を使ってインストールするか、ソースコードからビルドするかで間に合いそう。

普通のパソコン Linux との主な違い

目次

  1. 前準備
  2. システムパッケージのインストール
  3. システム Python 3 の pip, システム Python の pip の更新
  4. Berry Conda のインストール
  5. Python の仮想環境の作成(Berry Conda を使用)
  6. Python の仮想環境を使いたいとき
  7. Python の仮想環境に,OpenCV など,種々の Python パッケージをインストール
  8. Python の仮想環境に,Chainer をインストール
  9. Python の仮想環境に、imutils, mtcnn その他種々のパッケージをインストール
  10. Python の仮想環境に、Dlib をインストール
  11. Python の仮想環境に、face_recognition, msgpack, geopandas をインストール
  12. (オプション)Raspberry Pi で TensorFlow をソースコードからビルドして、インストールする
  13. (オプション)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

[image]

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}

[image]

4. Berry Conda のインストール

謝辞:Berry Conda の作者に感謝します

  1. 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
    

    [image]
    [image]
    (以下省略)
  2. 確認

    次のコマンドを実行.

    エラーメッセージが出なければ OK.

    source ~/.bashrc
    which python
    which conda
    python --version
    

    [image]

5. Python の仮想環境の作成(Berry Conda を使用)

  1. 今から作成するPython 環境の名前と、Pythonのバージョンを決めておく
  2. 端末を開く
  3. 前もって Python をインストールしておくことを作成する

    次のコマンドを実行.

    source ~/.bashrc
    conda create -n ai python=3
    

    [image]
  4. Python 環境が作成できたことを確認
    conda info -e
    

    [image]

    これで、もとからの Python 環境と, 新規作成されたPython 環境(Python のバージョン 3名前は ai)の共存ができた。

  5. いま作成したPython 環境を有効にする

    次のコマンドを実行.

    ※ 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    source activate ai
    

    [image]

    「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う

  6. pip の更新
    cd /tmp
    sudo rm -f get-pip.py
    curl -O https://bootstrap.pypa.io/get-pip.py
    python get-pip.py
    pip list
    

    [image]
  7. conda パッケージの更新、古い conda パッケージファイルの削除

    「conda config --remove channels conda-forge」は,conda のチャンネルに「conda-forge」が入っていたら削除する操作.「CondaKeyError: 'channels' 'conda-forge' ...」というエラーメッセージは無視してよい.

    conda config --remove channels conda-forge
    

    [image]

    conda upgrade -y --all
    

    [image]

    conda clean -y --packages
    

    [image]
  8. conda の動作確認

    エラーメッセージが出ないことを確認.

    conda info
    

    [image]

6. Python の仮想環境を使いたいとき

7. Python の仮想環境に,OpenCV など,種々の Python パッケージをインストール

Berry Conda を用いて,conda 形式の Python パッケージを、簡単に扱うことができる. Pythonパッケージ以外のソフトウェアをインストールすることもできる

  1. 端末を開く
  2. Python 環境を有効にする

    次のコマンドを実行.

    ※ 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    source activate ai
    

    [image]

    「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う

  3. パッケージのインストール

    次のコマンドを実行.

    ※ 「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
    
  4. OpenCV のバージョン確認

    python -c "import cv2; print( cv2.__version__ )"
    

    [image]

8. Python の仮想環境に,Chainer をインストール

  1. 端末を開く
  2. Python 環境を有効にする

    次のコマンドを実行.

    ※ 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    source activate ai
    

    [image]

    「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う

  3. Chainer のインストール

    次のコマンドを実行.

    cd /tmp
    rm -rf chainer
    git clone https://github.com/chainer/chainer.git
    cd /tmp/chainer
    pip -v install .
    

Python の仮想環境に、imutils, mtcnn その他種々のパッケージをインストール

  1. 端末を開く
  2. Python 環境を有効にする

    次のコマンドを実行.

    ※ 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    source activate ai
    

    [image]

    「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う

  3. 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
    

    [image]

    cd /usr/local
    git clone https://github.com/jrosebr1/imutils
    cd imutils
    python setup.py build
    python setup.py install 
    
    cd /usr/local
    git clone https://github.com/ipazc/mtcnn
    cd mtcnn
    python setup.py build
    python setup.py install 
    
  4. imutils のバージョン確認

    端末で、次のコマンドを実行

    python -c "import imutils; print( imutils.__version__ )"
    

    [image]
  5. mtcnn のバージョン確認

    端末で、次のコマンドを実行

    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import mtcnn; print( mtcnn.__version__ )"
    
  6. 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 
    
  7. その他、各種パッケージのインストール

    ※ 下から必要なものを選んでインストール

    conda install -y yaml
    conda install -y flask
    conda install -y sympy
    conda install -y sqlite
    conda install -y pylint
    

Python の仮想環境に、Dlib をインストール

  1. Python 環境を有効にする

    次のコマンドを実行.

    ※ 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    source activate ai
    

    [image]

    「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う

  2. 仮想メモリのサイズを増やす
    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
    
  3. インストールディレクトリを空にする
    mkdir /usr/local
    sudo chown $USER /usr/local
    cd /usr/local
    sudo rm -rf dlib
    

    [image]
  4. 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 
    
  5. Dlib のバージョン確認

    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

    python -c "import dlib; print( dlib.__version__ )"
    

    [image]

Python の仮想環境に、face_recognition, msgpack, geopandas をインストール

  1. 端末を開く
  2. Python 環境を有効にする

    次のコマンドを実行.

    ※ 「source activate ai 」は Python 環境(名前はai)を有効にするためのコマンド(各自の環境の名前にあわせること

    source activate ai
    

    [image]

    「Could not find conda environment: ai」というメッセージが出たときは、上の「Python の仮想環境の作成」を行う

  3. インストールディレクトリを空にする
    mkdir /usr/local
    sudo chown $USER /usr/local
    cd /usr/local
    sudo rm -rf face_recognition
    sudo rm -rf msgpack
    sudo rm -rf geopandas
    

    [image]
  4. 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