【ITニュース解説】第850回 UbuntuにおけるシステムPythonと、Pythonの仮想環境を使い分ける方法

2025年02月13日に「Gihyo.jp」が公開したITニュース「第850回 UbuntuにおけるシステムPythonと、Pythonの仮想環境を使い分ける方法」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

UbuntuのシステムPythonはOSの動作に必要なもので、変更は避けるべき。開発では、venvなどの仮想環境を使ってPythonをインストールし、プロジェクトごとに管理するのがおすすめ。これにより、システムPythonへの影響を避けつつ、必要なライブラリを個別に管理できる。

ITニュース解説

UbuntuにおけるシステムPythonとPython仮想環境の使い分けについて解説する。

Ubuntuをはじめとする多くのLinuxディストリビューションには、OS自身やOS上で動作する様々なシステムツールがPythonで記述されている場合がある。これらシステムツールが依存するPython環境を「システムPython」と呼ぶ。システムPythonは、OSの根幹に関わる部分を支えているため、ユーザーが不用意に変更したり削除したりすると、システム全体の動作に悪影響を及ぼす可能性がある。そのため、システムPythonは基本的にOSが管理し、ユーザーが直接操作することは推奨されない。

一方、プログラミング学習や個別のプロジェクト開発でPythonを利用する場合、システムPythonとは別に、独自のPython環境を構築することが一般的だ。これは、プロジェクトごとに必要なPythonのバージョンやライブラリが異なる場合があるため、システムPythonに直接ライブラリをインストールしてしまうと、他のプロジェクトやシステム全体に影響が出てしまう可能性があるからだ。

そこで登場するのが「Python仮想環境」だ。仮想環境は、プロジェクトごとに独立したPython実行環境を作成する仕組みを提供する。仮想環境を使用することで、システムPythonとは隔離された環境で、特定のバージョンのPythonや必要なライブラリを自由にインストールし、管理することができる。これにより、複数のプロジェクト間でライブラリのバージョンが競合する問題を回避し、安定した開発環境を維持することが可能になる。

Python仮想環境を作成するには、venvモジュールを使用するのが一般的だ。venvはPython 3.3以降に標準で搭載されているため、特別なインストール作業は不要だ。仮想環境を作成するには、まずターミナルを開き、プロジェクトのディレクトリに移動する。そして、以下のコマンドを実行する。

1python3 -m venv .venv

このコマンドは、.venvという名前のディレクトリに仮想環境を作成する。.venvという名前は慣習的なものであり、別の名前を付けても問題ない。

仮想環境を作成したら、次に仮想環境を有効化する必要がある。仮想環境を有効化するには、以下のコマンドを実行する。

1source .venv/bin/activate

仮想環境が有効化されると、ターミナルのプロンプトの先頭に仮想環境の名前(この場合は.venv)が表示される。これは、以降の操作が仮想環境内で行われることを意味する。

仮想環境が有効化された状態でpipコマンドを使用してライブラリをインストールすると、インストールされたライブラリはシステムPythonではなく、仮想環境内に保存される。

例えば、requestsライブラリをインストールするには、以下のコマンドを実行する。

1pip install requests

仮想環境内でインストールされたライブラリは、pip freezeコマンドで確認できる。

仮想環境から抜けるには、以下のコマンドを実行する。

1deactivate

仮想環境から抜けると、ターミナルのプロンプトから仮想環境の名前が消え、以降の操作はシステムPython環境で行われる。

仮想環境は、プロジェクトごとに作成することを推奨する。これにより、プロジェクト間でライブラリの依存関係が分離され、より安定した開発環境を構築できる。

システムPythonとPython仮想環境を適切に使い分けることで、OSの安定性を維持しながら、柔軟なPython開発を行うことができる。初心者にとっては少し難しく感じるかもしれないが、仮想環境の利用はPython開発における基本であり、早い段階で習得しておくことが望ましい。仮想環境を使うことで、ライブラリの管理が容易になり、将来的なトラブルを未然に防ぐことができる。