ラズパイ(Raspberry Pi)には最初からPythonが入っていますが、もともと入っているPythonはそのまま残して最新のPythonをインストールする方法をまとめます。さらに、venvを使った仮想環境の準備やVSCodeの準備も含め、一般的なPythonプログラミングができる環境を整えるところまでを紹介します。
こんにちは。wat(@watlablog)です。この記事ではつい忘れがちなラズパイにおけるPythonプログラミング環境を整える方法を紹介します!
対象読者
この記事はラズパイを購入したけどPythonプログラミングのはじめ方がわからない人に向けて書いています。また、ラズパイに初期インストールされているソフトでPythonプログラミングはできるけど、ラズパイでもVSCodeでプログラミングしたい人も参考になると思います。さらに、初心者は仮想環境を使わず色々試して環境を汚してしまうことがよくあるので、ここではvenvの使い方もおさらいしておきましょう。
ここではラズパイ4を扱いますが、最近発売されたラズパイ5でも通用する内容だと思います。そもそもラズパイ(Raspberry Pi)って何なの?最初はどこまでセットアップすれば良いの?っていう人は以下の記事を読んでみてください。
・ラズパイ4の概要とセットアップしてPythonを使うまでの備忘録
それでは早速環境構築をしていきましょう。一連の環境構築を実行していくと、少しだけLinuxのコマンド操作に慣れると思います。
ラズパイに最新のPythonをインストールする方法
ソースコードのダウンロード
まずはラズパイのシステムを最新の状態に更新します。ラズパイのターミナルを開き、以下のコマンドを実行しましょう。
1 2 3 |
sudo apt update sudo apt upgrade -y sudo apt install -y build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev libffi-dev |
Pythonのソースコードをダウンロードします。任意バージョンのソースコードはPython公式(https://www.python.org/)ページへアクセスし、Downloads→Source codeを選択してURLを調べることができます。次のコマンドはPython 3.12.4のソースコードをダウンロードする wgetコマンドです。
1 |
wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz |
ビルドとインストール
続いてソースコードを解凍し、解凍したディレクトリに移動します。
1 2 |
tar -xf Python-3.12.4.tgz cd Python-3.12.4 |
makeコマンドまで行い、ビルドします。ここは結構時間がかかると思います(数十分?)。
1 2 |
./configure --enable-optimizations make -j4 |
ビルドしたPythonをインストールします。 altinstallを使うことで既存のPythonのバージョンを上書きすることなく新しいバージョンをインストールできます。これによりラズパイにもともと入っているPythonも引き続き使うことができます。
1 |
sudo make altinstall |
新しいPythonが正しくインストールされたかどうかを確認します。以下のコマンドでPythonのバージョンを表示させ、意図したPythonがインストールされていることを確認してください。
1 |
python3.12 --version |
pipとの関連付け
altinstallを使用することで python3.12という名前で新しいPythonを呼び出せるようになりますが、システムのPythonは変更されません。この場合、 pipコマンドも新しいPythonのバージョンに対応するように pip3.12を使うようになりますが、その前に以下のコマンドで python3.12と pip3.12を関連付けることが必要です。このコマンドは初回だけ実行すればOKです。venvで開発を行う時には不要と思いますが、念の為。
1 |
python3.12 -m ensurepip |
pip installの方法
試しにNumPyをインストールしてみましょう。今回は python3.12に関連付けた pip3.12コマンドを使うので、次のコマンドでPython 3.12.4へNumPyを pip installできます。
1 |
pip3.12 install numpy |
pip installでエラーが出る時の対処法例
NumPyのインストール中にラズパイのターミナル上で次のエラーが出ました。もしかして他のライブラリをインストールするときにも似たようなエラーが出るかもしれないため、ここに解決方法を残しておきます。
1 2 3 4 5 6 7 8 9 10 |
× pip subprocess to install backend dependencies did not run successfully. │ exit code: 1 ╰─> [46 lines of output] Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple Collecting ninja>=1.8.2 Downloading ninja-1.11.1.1.tar.gz (132 kB) note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for ninja Failed to build ninja ERROR: Could not build wheels for ninja, which is required to install pyproject.toml-based projects |
このエラーは CMakeや OpenBLASがインストールされていないかバージョンが古いために ninjaパッケージのビルドに失敗した可能性が強いと推測しました(ChatGPTが)。そのため次のコマンドでそれらをインストールします。ついでに pipも更新しておきましょう。
1 2 3 |
sudo apt-get install cmake sudo apt-get install libopenblas-dev pip3.12 install --upgrade pip |
最近はLLMに聞けばこのようなエラーはすぐ解決するので詰まったらAIに質問してみましょう。
ラズパイにVSCodeをインストールする方法
VSCodeのリポジトリを追加
VSCodeもターミナルベースでインストール作業をしましょう。Microsoftの公式リポジトリからVSCodeをインストールするため、リポジトリを追加します。
1 2 3 4 |
sudo apt update sudo apt install software-properties-common apt-transport-https wget wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - sudo add-apt-repository "deb [arch=armhf] https://packages.microsoft.com/repos/code stable main" |
エラーが出る場合は手動でリポジトリを追加する
上記コマンドで raise NoDistroTemplateExceptionが出る場合はコマンドが失敗しています。その場合は以下のコマンドでリポジトリを手動で追加します。
1 |
echo "deb [arch=armhf] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list |
Microsoftのリポジトリからパッケージをダウンロードするために、GPGキーを追加します。GPGについてはこちらのQiita記事が詳しそうです(Qiita:GPGについて学んだことを整理してみる)
1 |
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/microsoft-archive-keyring.gpg > /dev/null |
VSCodeをインストールする
次のコマンドでパッケージリストを更新し、VSCodeをインストールします。
1 2 |
sudo apt-get update sudo apt-get install code |
Python拡張機能のインストール
VSCodeでPythonを使う場合、Python拡張機能(Python Extension Pack)をインストールしておくと便利です。ここからはGUIで作業ができるので、以下の記事「VSCodeを使ってみる」と同じ方法でPython Extension Packをインストールすることができます。
・M3 Macでvenv/VSCodeによるPython環境を構築するときの備忘録
ラズパイでインストールしたVSCodeは素の状態でターミナルから code .コマンドを使うことができました。そのため上記記事で紹介している「VSCodeをターミナルから起動できるようにする」は不要でした。
ラズパイで仮想環境venvをつくってPythonプログラミングする方法
ラズパイにインストールしたPythonでvenvを使う方法ですが、以下記事の「venvで仮想環境を使う時のメモ」と全く同じ方法で問題なく作業できたので割愛します。venvで仮想環境とした状態でターミナルからVSCodeを開く( code .コマンドで)と特に面倒なPATHを通す作業も必要なくなるので便利です。
・M3 Macでvenv/VSCodeによるPython環境を構築するときの備忘録
まとめ
今回は久々にラズパイを触ってみました。昔よりは少しだけ知識がついたので、最初から設定しなおしてみた備忘録を残す目的で記事を書きました。Pythonイベントで実際にPython開発者から教えていただいた一般的なプログラミング方法(venvとVSCodeを使う)をラズパイでもできるようになったのでまずはヨシとします。
ラズパイに最新のPythonをインストールする時、なかなか書籍やネットに載っているような情報ではうまくいかなかったのでやや苦労しました。altinstallを使ってもともとのPythonと共存させるようにしてみたのですが、これが一般的かは不明です。
これでいつでもラズパイで最新のPythonを使うことができます!
Xでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!