ウェブサイト検索

Ubuntu 24.04でPythonのPipインストールエラーを修正する方法


Ubuntu 24.04でPythonパッケージをインストールするためにpipコマンドを使用すると、「エラー:外部管理環境」という出力が得られます。ここにこの問題を‘修正’するためのいくつかの回避策があります。

端末の出力が示しているように、これはPEP 668による変更です。Ubuntu 23.04以降、仮想環境を使用してパッケージをインストールするために、Python特有のパッケージ管理ツール(例:pip)を推奨しています。これは、OSのパッケージマネージャによってインストールされたパッケージとの競合を避けるためです。ただし、ユーザーは依然としてpipを強制してインタープリターのグローバルコンテキストにインストールすることができます。

これまでのこの問題への対処法には以下が含まれます:

  • システムリポジトリに存在する場合は、Pythonパッケージをインストールしてください。
  • 以前のように22.04でpipを強制的にインストールします。
  • Pythonアプリのみの場合は、代わりにpipxを使用してください。
  • 手動で仮想環境を作成し、その中にパッケージをインストールします。

オプション1: システムリポジトリからPythonパッケージをインストールする

DebianとUbuntuには、システムリポジトリに数千のPythonパッケージが含まれています。pipを通じてパッケージをインストールする前に、対応するOSパッケージが利用可能かどうかを確認する方が良いです。

そのためには、Synapticパッケージマネージャー(アプリセンターで入手可能)を使用するか、sudo apt install python3- コマンドを実行し、利用可能な選択肢をリストするために「Tab」を押してください。

また、packages.ubuntu.comのウェブページは、システムリポジトリからパッケージを見つけるための検索機能を提供しています。

オプション2:以前と同様にpipを強制的にインストールする

端末エラー出力に示されているように、ユーザーは--break-system-packagesフラグを追加することでバイパスできます。

例えば、コマンドを使ってimagesearchライブラリを強制的にインストールします:

pip install --user imagesearch --break-system-packages

毎回 `--break-system-packages` と入力せずに pip install コマンドを実行するために、ルールを設定ファイルに書き込むことができます。そのためには、次のコマンドを実行してください:

mkdir -p ~/.config/pip
echo -e "[global]\nbreak-system-packages=true" > ~/.config/pip/pip.conf

コマンドはまず、存在しない場合は ~/.config/pip フォルダーを作成し、次に pip.conf 設定ファイルを作成し、その中に次の行を書き込みます:

[global]
break-system-packages=true

その後、Ubuntu 22.04以前と同様に、pip installコマンドを使用してPythonパッケージをインストールできます。

オプション3:pipxを使用する

Pipxは、Pythonアプリケーションを隔離された環境にインストールして実行するための代替コマンドラインツールです。ただし、これはPythonアプリ専用です。

pipxをインストールしてセットアップするには、単に次のコマンドを実行してください:

sudo apt install pipx
pipx ensurepath

次に、pipxを使ってPythonアプリをインストールできます。例えばcowsay、コマンドを使用します:

pipx install cowsay

それを次のように実行します:

pipx run cowsay --text "Mooo"

そして、Pythonパッケージをアンインストールするためのコマンドを使用します:

pipx uninstall cowsay

pipxについてさらに知りたい場合は、pipx --helpを実行するか、プロジェクトページにアクセスしてください。

オプション4: Pythonパッケージをインストールするために仮想環境を手動で作成する

1. Ubuntu 24.04でPythonパッケージをインストールするための仮想環境を手動で作成したい場合は、ターミナルを開き、次のコマンドを実行してください。

python3 -m venv ~/.venv/cowsay

このコマンドは、ユーザーホーム内に.venv/cowsayディレクトリを作成します(cowsayは自分の名前に置き換えてください)。ls ~/.venv/cowsayを実行すると、そのフォルダにはPythonの実行可能ファイルとライブラリのコピーが含まれていることがわかります。

2. 上記のコマンドを実行して仮想Python環境を作成した後、そのディレクトリからpipコマンドを実行してPythonパッケージをインストールできます。例えば:

~/.venv/cowsay/bin/pip install cowsay

最後に、その仮想環境からインストールしたPythonアプリを次のコマンドで実行します:

~/.venv/cowsay/bin/cowsay -t "Mooooo"

この単一の環境(私の場合は.venv/cowsay)にさらにPythonパッケージをインストールすることもできますし、他のパッケージ用の別の仮想環境を作成するためにpython3 -m venv ~/.venv/NAME_HEREを再度実行することもできます。

仮想環境をPATHに追加してください

完全なパスを pip と python の実行ファイルに対して実行せずに、仮想Python環境をPATHに追加することができます。

そうするには、現在のターミナルウィンドウでのみ機能するコマンドを実行してください:

export PATH=$HOME/.venv/cowsay/bin:$PATH

または、以下のコマンドを実行してユーザーの.profileファイルに上記のコマンドを追加してください。次回のログイン時にどこでも動作するようになります!そのために、まずはユーザープロファイルファイルを編集するためのコマンドを実行してください:

nano ~/.profile

ファイルを開いたら、下にスクロールして新しい行を追加します export PATH=$HOME/.venv/cowsay/bin:` PATH (cowsayをあなたのものに置き換えてください)、最後にCtrl+Sを押して保存し、Ctrl+Xを押して終了します。

要約 :

このチュートリアルでは、Ubuntu 24.04でのpip installコマンドのエラーを回避する方法を教えました。

以前のように動作させたい怠け者のためには、--break-system-packagesコマンドオプションを追加するだけですが、物事が壊れる可能性があります。一方、推奨される方法は、OSパッケージを通じて代替品をインストールする(ある場合)、または仮想環境を作成してその中にPythonパッケージをインストールすることです。

関連記事: