概要
- Raspberry Pi OS Bookwormでは、システムバージョンのPythonとの競合を避けるために、Pythonパッケージを仮想環境にインストールする必要があります。
- aptパッケージマネージャーを使用してPythonパッケージを検索してインストールできますが、パッケージが利用できない場合や新しいバージョンが必要な場合は、仮想環境内でpipツールを使用する必要があります。
- 仮想環境内で行われた変更やインストールは、システムバージョンのPythonには影響しません。
Raspberry Pi OS Bookwormで「pip」ツールを使用してPythonパッケージをインストールする際に問題が発生していますか?Python仮想環境を作成する必要があり、それにはいくつかの追加の手順が必要です。その方法を説明します。
Raspberry Pi OS Bookwormで何が変更されましたか?
Raspberry Pi 5は以前のバージョンのRaspberry Pi OSと互換性がないため、新しい「Bookworm」バージョンをインストールする必要があります。これは、以前のモデルからRaspberry Pi 5に切り替える際に考慮すべき事項の1つです。
DebianベースのRaspberry Pi OSオペレーティングシステム(Buster以前)の以前のバージョンでは、pipパッケージ管理ツールを使用して、Pythonライブラリをシステム全体に直接インストールすることが可能でした。ただし、新しいRaspberry Pi OS Bookwormでは、これはもう不可能です。
Raspberry Piのドキュメントで説明されているように、pipのようなPython固有のツールを使用すると、apt OSパッケージマネージャーとの競合が発生する可能性がありました。
そのため、Bookworm以降では、pipを使用する場合は、パッケージをサンドボックス化されたPython仮想環境にインストールする必要があります。これにより、システムバージョンのPythonと干渉することがなくなります。
システムの他の場所でpip install [package name]コマンドを使用しようとすると、以下のテキストで始まるエラーが表示されます:
error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.
Aptを使用してPythonパッケージを検索する方法
最初に確認すべきことは、必要なPythonパッケージがシステム全体のaptパッケージマネージャーを使用してインストールできるかどうかです。apt searchコマンドを使用して、公式リポジトリでパッケージを検索できます。たとえば:
apt search numpy
パッケージ名(この場合はpython3-numpy(Pythonバージョン3用))をメモして、aptでインストールします(インストールに必要なスーパーユーザー権限でsudoをプレフィックスとして使用します):
sudo apt install python3-numpy
必要なPythonパッケージがaptパッケージマネージャーを使用して利用できない場合、または新しいバージョンが必要な場合は、Python固有のpipツールを使用して、Python仮想環境内にインストールする必要があります。
Python仮想環境を作成する方法
Raspberry Pi OS Bookwormでpipツールを使用してPythonパッケージをインストールするには、まずvenvを使用してPython仮想環境を作成する必要があります。私たちは「muo-project」と名付けましたが、好きな名前を使用できます:
python -m venv muo-project
完了するまでしばらく時間がかかります。これは、使用しているRaspberry Piのモデルによって異なります。その後、完全なPythonディストリビューションを含む新しく作成された環境フォルダーにディレクトリを変更して、アクティベートする必要があります:
cd muo source bin/activate
Python仮想環境はすぐに使用できるようになり、システムプロンプトにはその名前(この場合はmuo-project)がプレフィックスとして追加されます。これは、システムバージョンのPythonではなく、仮想環境内のPythonを使用していることを示しています。したがって、それに対して行った変更やインストールしたモジュールは、システムのPythonには影響しません。
Raspberry Piを再起動した場合は、Python環境を再度アクティベートして使用できるようにする必要があります。
現在オペレーティングシステムレベルでインストールされているすべてのPythonモジュールのコピーを使用してPython仮想環境を作成する場合は、コマンドに--system-site-packagesフラグを追加することでできます。例:python -m venv --system-site-packages muo-project.
Pipを使用してPythonパッケージをインストールする
アクティブなPython仮想環境内から、pipコマンドを使用して必要なパッケージをインストールできるようになりました。たとえば、Stressberryシステムストレステストツールをインストールするには:
pip install stressberry
その後、必要な依存関係とともに、Python仮想環境内にモジュールがインストールされます。モジュールはシステム全体ではなく、そこでのみ使用できることに注意してください。
Pythonパッケージの競合はなくなりました
pipツールを使用してRaspberry Pi OS BookwormにPythonパッケージをインストールするには追加の手順が必要ですが、その利点は、仮想環境内でのみ存在するため、システムに干渉したり、システムを壊したりすることができないことです。
コメントする