3. Python 仮想環境

本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

概要

Python の仮想環境についてまとめてみたいと思います。

Python 仮想環境

Python 仮想環境とは

仮想環境とは、Python の実行環境(インタプリタ)と依存パッケージをプロジェクトごとに分離するための仕組みです。システム全体に影響を与えずに、特定のプロジェクトだけで特定のバージョンのパッケージを使えるようになります。

例えば、複数のプロジェクトが異なるバージョンの ライブラリを必要とする場合、仮想環境を使わないと互いに干渉してしまいますが、仮想環境を使えばそれぞれ独立して管理できます。

なぜ仮想環境が必要なのか?

理由説明
プロジェクト間の依存関係を分離各プロジェクトが別のバージョンのライブラリを必要とすることがある
グローバル環境を汚さないシステムPython環境に影響を与えずに開発できる
再現性のある環境を構築できるチームで共有・本番環境での動作保証がしやすい
セキュリティ向上不要なパッケージがシステムに常駐しないようにできる

仮想環境の主な実装方法(ツール別)

名前コマンド例特徴
venvpython -m venv .venv標準ライブラリ。軽量・シンプル。Python 3.3+
virtualenvvirtualenv .venvvenv よりも古く多機能。Python 2対応も可能
condaconda create -n myenvPython以外の依存も含めて管理可能。データ分析向け
pipenvpipenv install requestsPipfileで依存管理と仮想環境を統合
poetrypoetry installpyproject.toml ベースで依存・ビルド・配布管理も統一
pyenv-virtualenvpyenv virtualenv 3.10.2 myenv複数のPythonバージョン切替 + 仮想環境
uvuv venv / uv pip installRust製。超高速&一体型の次世代ツール

それぞれの説明は別ページで行います。

まとめ

主観となりますが、以下のような感じになると思います。

  • Python の仮想環境は「プロジェクトごとの依存を切り離す」ために必須。
  • venv は標準で使いやすく、uv は高速で次世代向け。
  • 他にも conda, poetry, pipenv など、用途に応じて最適な選択を。
  • 複数バージョンの Python を使いたい場合は pyenvconda を活用。

参考となれば幸いです。