Raspberry Pi Desktop (for PC and Mac) で基本ソフトウェア類のインストール

Raspberry Pi Desktop (for PC and Mac) は,PC および Mac の x86 マシンで動作する OS である.最新版は Debian 11 (bullseye) ベースで,2022年7月1日公開版である.ユーザ空間は 32ビット (i386) であり,システムの Python は Python 3.9 である. このページでは,基本ソフトウェア類のインストール手順について説明する.

32ビット環境であるため,TensorFlow, PyTorch, RStudio, Docker, NVIDIA CUDA など,64ビット (x86_64) のみを対象とするソフトウェアはインストールできない.このページでは,32ビット環境で動作するものを扱う.

サイト内の関連 Web ページなど:

前準備

システムの更新を行っておく.

次のコマンドを実行.

# パッケージリストの情報を更新
sudo apt update
sudo apt -yV upgrade
sudo apt -yV dist-upgrade
sudo apt -yV autoremove
sudo apt autoclean
sudo shutdown -r now

rpi-update は実行しない.rpi-update は Raspberry Pi 本体のファームウェアとカーネルを更新するためのコマンドであり,PC および Mac 版では対象外である.

ここでインストールする基本ソフトウェア

Python の仮想環境を整える

システムの Python (Python 3.9) を直接変更すると,OS の付属ソフトウェアに影響が出る場合がある.そのため,venv による隔離された Python 環境を作って使う.venv は Python 3 に標準で付属する仕組みである.

  1. Python 3 と関連ツールのインストール
    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install python3 python3-dev python3-pip python3-venv build-essential
    python3 -V
    
  2. venv による Python 3 環境の作成
    python3 -m venv $HOME/venv/py39
    ls $HOME/venv/py39
    
  3. 作成した Python 3 環境の有効化と確認

    有効化は,端末を開くたびに行う.

    source $HOME/venv/py39/bin/activate
    python -V
    python -m pip install --upgrade pip setuptools wheel
    pip list
    
  4. 32ビット (i686) 環境では,配布されているビルド済みパッケージ (wheel) が用意されていない場合が多い.その場合はソースコードからのビルドが行われるため,インストールに時間がかかる.

TensorFlow, PyTorch について

TensorFlow と PyTorch が公式に配布しているパッケージは 64ビット (x86_64) 版のみである.32ビットの Raspberry Pi Desktop (for PC and Mac) では,pip でのインストールはできない.ソースコードからのビルドも,32ビット Linux は公式のサポート対象外である.

これらを使う場合の選択肢は次の通りである.

なお,Keras は TensorFlow に同梱されているため,TensorFlow をインストールすれば別途インストールする必要はない. また,Chainer は 2019年12月に開発元が PyTorch への移行を発表しており,新規開発では PyTorch を使う.

基本ソフトウェアのインストール手順

ソースコードからのビルドに有用なソフトウェアのインストール

OpenCV などのビルドに必要となるツールやライブラリをインストール

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config python3-dev python3-pip python3-numpy
sudo apt -y install git make cmake cmake-curses-gui autoconf automake flex bison clang binutils swig curl
sudo apt -y install subversion ccache
sudo apt -y install zip unzip
sudo apt -y install libopenblas-dev liblapack-dev libtbb-dev gfortran
sudo apt -y install libxi-dev libsndfile1-dev libopenexr-dev libalut-dev libsdl2-dev libavdevice-dev libavformat-dev libavutil-dev libavcodec-dev libswscale-dev libx264-dev libxvidcore-dev libmp3lame-dev libspnav-dev libglu1-mesa-dev libv4l-dev
sudo apt -y install libbz2-dev libsqlite3-dev libssl-dev libreadline-dev libpng-dev libtiff-dev libjpeg62-turbo-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
sudo apt -y install libgtk-3-dev libatlas-base-dev

プログラミング,開発環境

ツール

Git, CMake, cmake-gui, ImageMagick (画像), FFmpeg (ビデオデータ処理), p7zip (圧縮, 展開), Graphviz (グラフデータ構造可視化), net-tools, hwinfo (ハードウェア情報), GDAL (地理情報), Tesseract OCR (文字認識), jq (JSON整形), jsonlint (JSONチェッカ)

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git
sudo apt -y install cmake
sudo apt -y install cmake-curses-gui
sudo apt -y install cmake-gui
sudo apt -y install imagemagick
sudo apt -y install ffmpeg
sudo apt -y install p7zip-full
sudo apt -y install graphviz graphviz-dev
sudo apt -y install net-tools
sudo apt -y install hwinfo
sudo apt -y install gdal-bin libgdal-dev
sudo apt -y install tesseract-ocr tesseract-ocr-jpn libtesseract-dev libleptonica-dev
sudo apt -y install jq
sudo apt -y install jsonlint

アクセサリ

xpdf (PDF リーダ), shutter (画面キャプチャ), catfish (ファイル検索)

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install xpdf
sudo apt -y install shutter
sudo apt -y install libgoo-canvas-perl
sudo apt -y install catfish

インターネット

FileZilla (ファイル転送), Firefox ESR (Webブラウザ), Wireshark (ネットワーク), netcat (通信), AWS Command Line Interface (AWS), Remmina (リモート接続)

AWS CLI の公式インストーラ (バージョン2) は 64ビット Linux のみの対応である.32ビット環境では,apt でインストールできるバージョン1を使う. RealVNC Viewer も,現行版は 64ビット Linux のみの対応である.VNC や RDP でのリモート接続には Remmina を使う.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install filezilla
sudo apt -y install firefox-esr
sudo apt -y install firefox-esr-l10n-ja
sudo apt -y install wireshark
sudo apt -y install netcat-openbsd
sudo apt -y install awscli
sudo apt -y install remmina remmina-plugin-vnc remmina-plugin-rdp

エディタ

Emacs, mousepad, gedit

Visual Studio Code は 64ビット版のみが配布されている.32ビット環境では,Emacs, gedit などを使う.

# パッケージリストの情報を更新
sudo apt update
# emacs
sudo apt -y install emacs
# mousepad
sudo apt -y install mousepad
# gedit
sudo apt -y install gedit gedit-plugins

グラフィックス

Blender (3次元), POV-Ray, MeshLab, Inkscape, GIMP, Pinta, CloudCompare

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install blender
sudo apt -y install povray povray-examples
sudo apt -y install meshlab
sudo apt -y install inkscape
sudo apt -y install gimp
sudo apt -y install pinta
# CloudCompare
sudo apt -y install qtbase5-dev qtdeclarative5-dev qt5-default qttools5-dev libqt5widgets5 libqwt-qt5-dev libqt5svg5-dev
cd /tmp
rm -rf CloudCompare
git clone --recursive https://github.com/CloudCompare/CloudCompare.git
cd CloudCompare
rm -rf build
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
cmake --build . -- -j$(nproc)
sudo make install

地図情報

QGIS , Debian GIS Data, Debian GIS OSM

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install qgis qgis-plugin-grass
# Debian GIS
sudo apt -y install gis-data gis-osm

ビデオ

VLC media player (メディア), OpenShot

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install vlc
sudo apt -y install openshot-qt

データベース

SQLite 3, DB Browser for SQLite (sqlitebrowser), Redis

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install sqlite3
sudo apt -y install sqlitebrowser
sudo apt -y install redis-server redis-tools

ライブラリ

OpenCV (コンピュータビジョン), OpenNI2, libPCL, Guava, Dlib

NVIDIA CUDA は,32ビット Linux のサポートが終了しているため,この環境では使用できない.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install openni2-utils libopenni2-dev
sudo apt -y install libpcl-dev
sudo apt -y install libguava-java
# OpenCV (パッケージを使う場合)
sudo apt -y install python3-opencv libopencv-dev opencv-data
python3 -c "import cv2; print( cv2.__version__ )"

OpenCV を,contrib モジュール付きでソースコードからビルドする場合は次の手順による(時間がかかる).

source $HOME/venv/py39/bin/activate
pip install numpy
cd /tmp
rm -rf opencv opencv_contrib
git clone --depth 1 https://github.com/opencv/opencv.git
git clone --depth 1 https://github.com/opencv/opencv_contrib.git
cd opencv
rm -rf build
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv_contrib/modules \
      -D OPENCV_GENERATE_PKGCONFIG=ON \
      -D BUILD_opencv_python3=ON \
      -D PYTHON3_EXECUTABLE=$HOME/venv/py39/bin/python \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D BUILD_EXAMPLES=ON ..
make -j$(nproc)
sudo make install
sudo /sbin/ldconfig
python -c "import cv2; print( cv2.__version__ )"

Dlib

source $HOME/venv/py39/bin/activate
sudo apt -y install build-essential cmake libopenblas-dev liblapack-dev libx11-dev
pip install --upgrade dlib
pip install --upgrade face_recognition
python -c "import dlib; print( dlib.__version__ )"

設計

FreeCAD

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install freecad

ゲームフレームワーク,ゲームエンジン

Panda3D, Pygame, cocos2d

source $HOME/venv/py39/bin/activate
pip install --upgrade panda3d
pip install --upgrade pygame
pip install --upgrade cocos2d

32ビット環境向けのビルド済みパッケージが提供されていない場合は,Panda3D 公式サイトの手順に従い,ソースコードからビルドする.

Docker について

Docker Engine が公式にサポートするのは 64ビットのアーキテクチャであり,32ビット (i386) の Raspberry Pi Desktop (for PC and Mac) はサポート対象外である.Docker を使う場合は,64ビットの Debian, Ubuntu などを使う.

R のパッケージを追加

R のパッケージのビルドに必要なライブラリをインストールした後,パッケージをインストールする.

cd /tmp
sudo apt -y install libxml2-dev libfftw3-dev libfreetype6-dev libnlopt-dev libcurl4-openssl-dev libssl-dev libudunits2-dev libgdal-dev libgeos-dev libproj-dev libgit2-dev default-jdk
sudo R CMD javareconf

インストール済みパッケージの更新

echo 'options(repos="https://cloud.r-project.org"); update.packages(checkBuilt=TRUE, ask=FALSE)' | sudo R --vanilla

CRAN のパッケージのインストール

cat <<'EOF' > /tmp/install_cran.r
options(repos="https://cloud.r-project.org")
pkgs <- c(
  "abind", "boot", "car", "caTools", "changepoint", "chron", "cluster", "codetools",
  "colorspace", "ctv", "data.table", "deldir", "devtools", "diagram", "dplyr",
  "entropy", "Epi", "evd", "fastICA", "fields", "forecast", "foreign", "gdata",
  "gdm", "ggplot2", "gmodels", "gridExtra", "gridSVG", "gstat", "Hmisc", "igraph",
  "Imap", "insol", "jpeg", "KernSmooth", "knitr", "lattice", "leaps", "lmtest",
  "lsa", "lubridate", "mapproj", "MASS", "Matrix", "mclust", "mgcv", "mmand",
  "mnormt", "moments", "multcomp", "mvoutlier", "mvtnorm", "nlme", "party",
  "pca3d", "pcaPP", "pixmap", "plyr", "png", "psych", "pvclust", "randomForest",
  "raster", "RColorBrewer", "Rcmdr", "Rcpp", "reshape2", "rgl", "rJava", "rpart",
  "RSQLite", "RWeka", "RWekajars", "sandwich", "scatterplot3d", "sf", "shapefiles",
  "shiny", "sm", "som", "sp", "spatial", "spatstat", "spsurvey", "sqldf",
  "stabledist", "stringdist", "stringr", "strucchange", "survival", "terra",
  "timeSeries", "tm", "SnowballC", "topmodel", "tseries", "vcd", "WriteXLS",
  "xlsx", "xlsxjars", "XML", "xts", "zoo"
)
install.packages(pkgs, clean=TRUE, INSTALL_opts=c("--no-docs", "--no-html"))
EOF
sudo R --vanilla < /tmp/install_cran.r

※ 地理空間データを扱う rgdal, rgeos, maptools は 2023年10月に開発が終了し,CRAN から削除された.後継の sfterra を使う.

Bioconductor のパッケージのインストール

Bioconductor のインストールは,R 3.5 以降では BiocManager で行う.旧来の biocLite は廃止されている.

cat <<'EOF' > /tmp/install_bioc.r
options(repos="https://cloud.r-project.org")
install.packages("BiocManager", clean=TRUE, INSTALL_opts=c("--no-docs", "--no-html"))
BiocManager::install(c("EBImage", "qvalue", "Rgraphviz", "RBGL", "hypergraph"), ask=FALSE, update=FALSE)
EOF
sudo R --vanilla < /tmp/install_bioc.r

インストール後の更新

echo 'options(repos="https://cloud.r-project.org"); update.packages(checkBuilt=TRUE, ask=FALSE)' | sudo R --vanilla