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

なお、VPS選びで迷ったらこちらの記事で主要VPSのメモリ容量ごとの月額、年額料金を比較していますので、是非参考にしてみてください。

Pythonに戻る

このページのトップに戻る