Pythonで開発を進める際、プロジェクトごとに異なるライブラリやバージョンを管理するために「仮想環境」を利用するのが一般的です。従来はvenvやvirtualenvが広く使われてきましたが、依存関係が複雑になると管理が煩雑になりがちです。
そこで登場したのがpipenvです。pipenvを使えば依存関係の管理と仮想環境の構築を一元的に行えるため、小〜中規模のプロジェクトやシンプルな構成でも非常に有効です。本記事では「pipenv 仮想環境」という検索意図に沿って、基本的な使い方から実務での活用ポイントまで丁寧に解説します。
[!NOTE] この記事のポイント
- 環境構築とパッケージ管理を統合: pipenvは
pipとvirtualenvの機能を併せ持ち、コマンド一つでスマートに管理できます。- 依存関係の完全な再現:
Pipfile.lockにより、チーム全員で全く同じ開発環境を簡単に共有可能です。- 実務に即した活用法: Pythonバージョンの指定方法や Windows での注意点など、現場で役立つTipsを網羅しています。
Pythonのパッケージ管理ツール「pipenv」とは?特徴とメリット
pipenvは仮想環境と依存関係管理を統合したツールの一つで、Python Packaging Authority(PyPA)関連のツールとして開発されてきた実績がありますが、現在は複数あるパッケージ管理ツールの選択肢の一つとして位置付けられています。仮想環境の構築と依存関係の管理を同時に行うことができます。
Pipenvの公式ドキュメントもあわせて参考にしてください。
以下のような特徴を備えています。
pipとvirtualenvの機能を統合し、仮想環境の構築とパッケージ管理を一括で実施- 依存関係を記録する
Pipfileと、正確なバージョンを固定するPipfile.lockを自動生成 - プロジェクトごとに仮想環境を分離して構築できるため、環境の衝突を防止
- チーム開発において、全員が同じ環境を簡単に再現可能
これにより、開発環境のセットアップ時間が短縮され、再現性の高い開発が可能になります。
pipenvを使ったPython仮想環境の構築手順
動作確認・検証環境の詳細
- 環境バージョン情報
- Windows 11 Home
- Python 3.13.3(※Pythonがインストールされていること)
- 以下フォルダ構成で確認する
- C:\app\python-ex\app.py
ソースは以下を利用
app.py from flask import Flask# Flaskアプリの生成app = Flask(__name__)# ルートにアクセスしたときの処理@app.route("/")def hello():return "Hello, pipenv 仮想環境!"# エントリーポイントif __name__ == "__main__":# デバッグモードで起動(開発用)app.run(debug=True, host="0.0.0.0", port=5000) - C:\app\python-ex\app.py
pipenvのインストール方法
以下コマンドでpipenvが入っているか確認します。
※通常は pipenv コマンドとして実行できますが、本記事では確実性の高い python -m pipenv 形式で記載しています。
python -m pipenv --versionpipenvがインストールされていなかった場合、pipを使ってpipenvをインストールします。
pip install pipenvインストールが完了したら、バージョンを確認して正常に導入できているかをチェックします。
python -m pipenv --version>python -m pipenv --versionpipenv, version 2025.0.4エラーが出なければ準備完了です。
プロジェクト用の仮想環境を作成する
プロジェクト用ディレクトリに移動します。(移動先は自身の環境に合わせてください)
cd C:\app\python-ex\pipenvを初期化して仮想環境を作成します。(依存パッケージが未指定の場合でも、仮想環境とPipfileが作成されます)
python -m pipenv install実務では、以下のようにPythonのバージョンを明示的に指定して初期化することも一般的です。
python -m pipenv --python 3.13以下コマンドで作成した仮想環境のディレクトリパスを確認できます。
python -m pipenv --venvこれにより、そのプロジェクト専用の仮想環境が自動的に作成され、同時にPipfileが生成されます。デフォルトではユーザー領域に作成されますが、環境変数(PIPENV_VENV_IN_PROJECT=1)を設定することでプロジェクト内に .venv フォルダを配置することも可能です。
パッケージの追加(Flaskなど)と依存関係の管理
パッケージのインストールは通常のpipと同じように行えますが、自動的に仮想環境に導入され、Pipfileに記録されます。
例:Flaskをインストールする場合
python -m pipenv install flask開発環境専用のライブラリを導入したい場合は--devオプションを利用します。
python -m pipenv install pytest --devこれにより、本番環境には不要なライブラリと区別して管理できます。また、依存関係のバージョンはPipfile.lockに固定されるため、将来的に同じ環境を再現するのが容易です。
仮想環境の有効化(pipenv shell)と実行確認
作成した仮想環境に入るには以下を実行します。
python -m pipenv shellこれで仮想環境内のシェルに入ることができます。※環境によっては shell が正しく起動しない場合があるため、その場合は pipenv run の利用が推奨されます。
flaskがインストールされた仮想環境で以下コマンドを実行します。
python app.py以下のようにflaskのサーバが起動します。
(python-ex-P4MymwP9) C:\app\python-ex>python app.py * Serving Flask app 'app' * Debug mode: onWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5000 * Running on http://192.168.1.19:5000Press CTRL+C to quit * Restarting with stat * Debugger is active! * Debugger PIN: 333-672-238flaskの起動後、以下にアクセスすることで画面を表示できます。
http://localhost:5000/
仮想環境を終了したいときはexitを入力すれば元の環境に戻ります。
また、仮想環境に入らずに一時的にコマンドを実行する場合は、以下のようにpipenv runを利用して実行することもできます。
python -m pipenv run python app.pyこれにより、本番用スクリプトやテストスクリプトを実行する際にも便利に利用できます。
【逆引き】pipenvでよく使う便利コマンド一覧
- 依存関係グラフ(パッケージ間の依存ツリー)を表示
python -m pipenv graph- 仮想環境の場所を確認
python -m pipenv --venv- 不要になったパッケージを削除
python -m pipenv uninstall <package>- 仮想環境を削除
python -m pipenv --rmこれらを組み合わせることで、環境の整理やデバッグが容易になります。
チーム開発での活用:環境の完全再現と共有方法
チーム開発では以下の手順を守ると環境の再現性が高まります。
PipfileとPipfile.lockをGitリポジトリに含める- 新しい環境で以下を実行
python -m pipenv syncpipenv sync を使うと Pipfile.lockファイルに記録されたパッケージ・バージョンをそのままインストールし、環境差異を防ぐことができます。※Pipfileは参照せず、Pipfile.lockのみを元にインストールされます。具体的には、以下を行います。
Pipfile.lock に記載されたパッケージをインストール → バージョンも含めてロックされた状態を再現します。
pipenv syncの役割と具体的な利用シーン
-
本番環境のデプロイ → 開発環境と同じ依存関係を100%再現したい場合。
-
CI/CD 環境 → ビルドの再現性を保証するために、余計なパッケージが入らないようにする。
-
チーム開発 → 各メンバーが同じ依存関係で開発できるようにする。
pipenv syncの主なオプション一覧
pipenv sync --dev→ 開発用パッケージ(dev-packages)も含めて同期します。
まとめ:pipenvで効率的なPython開発を始めよう
pipenvは仮想環境と依存関係をまとめて管理できる強力なツールpipenv installで簡単に仮想環境が作成され、PipfileとPipfile.lockで管理されるpipenv shellやpipenv runで柔軟に仮想環境を利用可能- チーム開発では
Pipfile.lockにより正確な環境の再現が可能pipenv sync→ Pipfile.lock と一致させる。
venvやvirtualenvと比べても利便性が高く、小〜中規模のプロジェクトやシンプルな構成に適しています。大規模開発では他ツール(Poetryやuvなど)が選択されるケースも増えています
Pythonのパッケージ管理では、pip自体のアップデートが必要になるケースや、仮想環境から抜ける方法を詳しく知りたい場合もあります。あわせて以下の記事も参考にしてください。

Pythonの仮想環境を終了(deactivate)する方法
本記事では、Pythonの仮想環境を「activate(有効化)」した後に「deactivate(終了)」する方法をわかりやすく解説します。コマンドの使い方から、deactivateが使えない場合の原因と対処法までを網羅。開発環境を安全に切り替えるための基本知識を身につけたい方に最適です。
Python開発を効率化し、トラブルの少ない安定した環境を構築したい方は、ぜひpipenvを導入して仮想環境を活用してみてください。用途やプロジェクト規模に応じて、poetryやuvなど他ツールと比較しながら選択することも重要です。
Pythonユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!
Pythonユーザにお勧めの本
人気記事
- 1
- 2
- 3
- 4
- 5