🌊
error: externally-managed-environment
error: externally-managed-environment
WSLにて、pip install ....
を行った際のエラーと対処方法
エラー内容
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.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.12/README.venv for more information.
対処方法
- 仮想環境 venvの構築
- プロジェクト単位で個別に環境構築が可能
- 開発プロジェクトに適している
- pipxでのインストール
- pipxはCLIで動作するパッケージを管理することに向いている
pipx は、システムにインストール済みの他のパッケージとの間に依存関係の衝突を起こすことなく Python のコマンドラインアプリケーションをインストールし動作させるためのツールhttps://packaging.python.org/ja/latest/key_projects/
https://pipx.pypa.io/stable/ より引用
- system-wide python packageのインストール
- Ubuntuの公式リポジトリからPythonパッケージをインストールということ
apt install python3-[package-name]
- システム全体に影響を及ぼすため、システム管理ツールなどの作成時に使用
(私含め)開発環境を構築されたい方が多いと想定し、
以下、1.仮想環境venvの構築についての具体的な方法を解説
主要コマンド
# python3-venv パッケージのインストール
sudo apt install python3-venv
# 仮想環境の作成(任意の場所に任意の名前で作成可能)
# 下記はcurrent directory下にvenvという名前で作成
python3 -m venv venv
# 仮想環境の有効化
source ~/venv/bin/activate
# 仮想環境内で[package-name]インストール
pip install [package-name]
# 仮想環境を終了
deactivate
実際の使用例
# プロジェクト用のディレクトリへ移動
cd ~/project
# プロジェクトの仮想環境を読み込む
source venv/bin/activate
# プロジェクトで必要なパッケージをインストール(例: pandas)
pip install pandas
# install済みパッケージを確認
pip list
# requirements.txtを作成(packageの依存関係が保存されている)
pip freeze > requirements.txt
# 仮想環境を終了
deactivate
Discussion