Python アプリの実行や pip コマンドでのライブラリのインストール時にエラー
カテゴリ:Python
症状
Python のアプリを実行しようとすると以下のエラーが表示される。
$ python3 ~/VSC/python/flask/main.py
Traceback (most recent call last):
File "/home/mogusa/VSC/python/flask/main.py", line 1, in
from flask import Flask
ModuleNotFoundError: No module named 'flask'
pip コマンドでライブラリをインストールしようとすると以下のエラーが表示される。
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.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
原因
Python アプリの実行や pip 等 apt 以外による Python ライブラリのインストールは仮想環境で実施することが義務付けられたためです。 これは Linux ディストリビューションでは内部で Python が使用されており、OS に関連するライブラリの上書きによる OS の破損から守るための仕様です。
対処方法
次の方法で仮想環境を構築します。
もし python3-venv が入っていない場合はインストールします。
sudo apt install python3-venv
仮想環境を作成します。(下記の例では python3_venv という名前の仮想環境を作成)
python3 -m venv .python3_venv
source .python3_venv/bin/activate
Python アプリの実行や pip コマンドでのライブラリのインストールを実行します。
使用後は仮想環境を終了します。
deactivate
公開日時:2025年04月19日 20:00:16
最終更新日時:2025年04月19日 20:17:45