70
Raspberry Pi 5以前のモデルにPythonモジュールをインストールする方法

Raspberry Pi 5には、Debian 12「Bookworm」をベースにした新しいバージョンのRaspberry Pi OSが必要です。Raspberry Pi 4、Pi 3、Pi Zeroなどの新しいカードに書き込む場合は、おそらくBookwormも使用することになるでしょう。この新しいバージョンのOSでは、Pythonモジュールのインストール方法が変更されており、最初はかなり戸惑うかもしれません。最高のRaspberry Pi HATを含むあらゆるHATをプログラムするには、ほぼ確実にPythonモジュールのインストールが必要になるため、これは非常に重要です。

Python仮想環境は、PythonプロジェクトをOSのデフォルトのPythonインストールから隔離し、隔離しておくための便利な方法です。以前はPythonモジュールをOSレベルでインストールしており、多くの人にとってうまく機能していましたが、OSインストールを破損するリスクが常にありました。Pythonパッケージマネージャーであるpip経由でインストールされたPythonモジュールは、OSのパッケージマネージャー(この場合はAPT)経由でインストールされたPythonモジュールと競合する可能性があります。

Pythonモジュール

(画像提供:Tom's Hardware)

Raspberry Pi OSは現在Debian 12「Bookworm」をベースにしており、Debian OSチームはPythonガイドラインPEP668に従うことを決定したため、Raspberry Pi OSもこれに従わなければなりません。pip経由でモジュールをインストールしようとすると、エラーメッセージが表示されます。

Raspberry Pi OSにPythonモジュールをインストールする Bookworm

OS レベルで Python モジュールをインストールするには、パッケージ マネージャー経由で使用可能であることを確認してからインストールする必要があります。

1.ターミナルを開き、インストールするパッケージを検索します。今回はPythonデバッグツール「icecream」を検索しました。

sudo apt search icecream

Pythonモジュール

(画像提供:Tom's Hardware)

2. Pythonパッケージの出力を確認し、その名前を使ってインストールします。Pythonパッケージはpython3-で始まり、その後にモジュール名が続きます。

Pythonモジュール

(画像提供:Tom's Hardware)

3. Pythonセッションを開き、モジュールをインポートします。ここではOSレベルのPythonを使用しているため、icecreamモジュールをPythonセッションにインポートします。終了するにはCtrl + Dを押します。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

python3 -i

Pythonモジュール

(画像提供:Tom's Hardware)

Python仮想環境の作成

必要なPythonモジュールがOSのパッケージマネージャーにない場合は、Pythonパッケージマネージャーのpipを使用する必要があります。Raspberry Pi OSとDebian 12でこれを行うには、PythonモジュールがOSのPythonモジュールに干渉しないように、仮想環境(venv)を作成する必要があります。幸いなことに、Pythonには仮想環境の作成、有効化、無効化を簡単に行うための手順があります。

1.ターミナルを開き、ディレクトリを配置する場所に移動します。

2. Python仮想環境を作成します。このテストでは、仮想環境をth-testと名付けました。Pythonが環境を作成するのには数秒かかります。下のスクリーンショットでは、th-testディレクトリが作成され、Python環境をサポートするファイルが格納されていることがわかります。

python -m venv th-test

Pythonモジュール

(画像提供:Tom's Hardware)

3. Python 仮想環境にディレクトリを変更します。

cd th-test

4. Python仮想環境を有効化します。pipによるインストールは、仮想環境内にインストールされたPythonを使用します。OSレベルのPythonインストールはそのまま残ります。仮想環境名は括弧内に表示されます。

source bin/activate

Pythonモジュール

(画像提供:Tom's Hardware)

5.仮想環境内でPythonを使用していることを確認してください。不明な場合は、このコマンドを実行すると、使用しているPythonのバージョンを確認できます。仮想環境のPythonは/home/pi/th-test/bin/pythonにあります。OSレベルのPythonは通常、/usr/bin/pythonにあります。

Pythonモジュール

(画像提供:Tom's Hardware)

6. pipを使ってPythonモジュールをインストールします。今回は、暇な時間にいろいろいじっていたPythonデバッグツール「icecream」を選択しました。

pip install icecream

Pythonモジュール

(画像提供:Tom's Hardware)

7. pip 経由でインストールされたすべての Python パッケージを一覧表示します。この便利な監査ツールは、環境の作成時に自動的に、またはユーザーが手動でインストールしたすべてのパッケージを一覧表示します。

pip list

Pythonモジュール

(画像提供:Tom's Hardware)

8.仮想環境を無効にしてホームディレクトリに戻ります。これにより環境が閉じられ、記述されたPythonコードはOSのデフォルトのPythonインストールを使用します。

deactivate
cd ~

システムモジュールを使ったPython仮想環境の作成

OSレベルでインストールされているすべてのPythonモジュールのコピーを含むPython仮想環境を作成する必要がある場合は、環境作成時に引数を渡すことができます。この引数は、多数のモジュールをすぐに使えるようにしたい場合に便利ですが、この「キッチンシンク」アプローチは多くのプロジェクトにとって少々やり過ぎです。 

インストールするモジュールは、目的に応じてカスタマイズする方が良いでしょう。しかし、これが便利な場合もあるかもしれません。

1.新しい仮想環境を作成し、–system-site-packages 引数を渡します。仮想環境の名前は th-system です。

python -m venv --system-site-packages th-system

2.新しく作成したディレクトリにディレクトリを変更し、仮想環境をアクティブ化します。

cd th-system
source bin/activate

3.仮想環境にインストールされているPythonモジュールを一覧表示します。Linuxパイプを使用して出力をlessコマンドに送信することで、画面上での出力のスクロール速度を制御できます。OSには多くのPythonモジュールがインストールされています。スペースキーを押して次のページを読み込み、完了したらQキーを押して終了します。

pip list | less

Pythonモジュール

(画像提供:Tom's Hardware)