Pythonの開発では、ライブラリやバージョンの違いによるトラブルが起こりがちです。
そんな問題を防ぐために役立つのが「仮想環境」です。
本記事ではPython標準のvenvを使って仮想環境を作成・有効化する方法について、WindowsとMacそれぞれでの手順を図解つきでくわしく解説します。
Python仮想環境(venv)とは
仮想環境を使うメリットと必要性

Pythonの仮想環境とは、1台のPCの中にプロジェクトごとに独立したPython実行環境を作る仕組みです。
OS全体にインストールされたPython(グローバル環境)とは分離されるため、プロジェクトごとに異なるライブラリやバージョンを安全に使い分けることができます。
仮想環境を使う主なメリットは次の通りです。
- プロジェクトごとに異なるライブラリのバージョンを共存できる
- ライブラリのインストールや削除が他のプロジェクトに影響しない
- チームメンバーと同じ環境を再現しやすく、動作不良の原因を減らせる
- 不要になったら仮想環境ごとフォルダを消すだけでクリーンに片付けられる
例えば、あるプロジェクトではDjango 3.2、別のプロジェクトではDjango 4.1を使いたい場合、仮想環境を使えば同じPC上で両方のバージョンを安全に使い分けることができます。
venvと他の仮想環境ツールの違い
Pythonの仮想環境ツールには、いくつかの種類があります。
代表的なものを比較してみます。

| ツール名 | 主な提供元・特徴 | インストール | 向いている用途 |
|---|---|---|---|
| venv | Python標準ライブラリ。軽量でシンプル | 不要 | 一般的なPython開発全般 |
| virtualenv | 外部パッケージ。古いPythonバージョンにも対応 | 必要 | Python 3.3未満や互換性重視の環境 |
| conda | Anaconda/Minicondaの環境管理ツール | 要(Anaconda等) | データサイエンス、Python以外のパッケージも含む環境 |
この記事では標準ライブラリだけで完結する「venv」に絞って解説します。
追加インストールが不要で、多くのケースでこれだけで十分だからです。
WindowsでPython仮想環境(venv)を作成・有効化する方法
Pythonがインストールされているか確認する方法

Windowsでは、まずPython本体が正しくインストールされているか確認します。
コマンドプロンプトやPowerShellで次のコマンドを実行します。
python --version
Pythonランチャーを使う場合は次のコマンドでも確認できます。
py --version
どちらかでPython 3.x.xのようにバージョンが表示されれば、Pythonはインストールされています。
「認識されません」「見つかりません」と表示される場合は、後述のトラブルシューティングの章を参照してください。
venvで仮想環境を作成するコマンド

仮想環境は、基本的にプロジェクトごとに1つ作成します。
例としてC:\work\myprojectというフォルダで作業する場合を考えます。
まず、作業フォルダに移動します。
cd C:\work\myproject
次に、venvモジュールを使って仮想環境を作成します。
python -m venv venv
またはPythonランチャーを使う場合は次のようにします。
py -m venv venv
ここでのvenvは「仮想環境のフォルダ名」です。
よく使われる慣習として仮想環境のフォルダ名をvenvや.venvにすることが多いですが、envなど別の名前でも構いません。
コマンドが成功すると、プロジェクトフォルダの中にvenvという新しいフォルダが作成され、その中に独立したPython実行環境一式が作られます。
仮想環境を有効化する方法

Windowsでは、使うシェルによって実行するスクリプトが変わります。
ここでは代表的な2つを紹介します。
PowerShellで有効化する場合
PowerShellを使っている場合は、次のコマンドで仮想環境を有効化します。
# myproject フォルダにいる前提
cd C:\work\myproject
# venv を有効化
.\venv\Scripts\Activate.ps1
成功すると、プロンプトの先頭に(venv)のように環境名が表示されるようになります。
コマンドプロンプト(cmd)で有効化する場合
コマンドプロンプトでは、次のコマンドを実行します。
cd C:\work\myproject
venv\Scripts\activate.bat
こちらも同様に、プロンプトの先頭に(venv)が付きます。
仮想環境を有効化した状態でpythonやpipを実行すると、その仮想環境専用のPythonやライブラリが使われるようになります。
(確認) 仮想環境のPythonが使われているかチェック

有効化できたら、仮想環境のPythonが使われているかを確認します。
# Pythonの場所を確認
where python
出力の先頭にC:\work\myproject\venv\Scripts\python.exeのようなパスが表示されていれば、仮想環境が正しく使われています。
仮想環境を無効化する方法
仮想環境の利用を終えたら、必ず無効化してからターミナルを閉じる習慣を付けると混乱を防ぎやすくなります。
有効化したシェル上で次のコマンドを実行します。
deactivate
これだけで、仮想環境は無効化されます。
プロンプトから(venv)の表示が消えれば成功です。
無効化すると、再びグローバル環境のPythonやpipが使われる状態に戻ります。
MacでPython仮想環境(venv)を作成・有効化する方法
Pythonとpipのバージョンを確認する方法

macOSでは、システムに入っているPythonと自分でインストールしたPythonが混在することがあります。
そのため、通常はpython3とpip3を使うケースが多くなります。
ターミナルを開き、次のコマンドでバージョンを確認します。
python3 --version
pip3 --version
どちらもPython 3.x.xやpip x.x.x from ...のように表示されれば、準備は整っています。
もしコマンドが見つからないと言われる場合は、HomebrewなどでPythonをインストールする必要があります。
venvで仮想環境を作成するコマンド

Macでも基本的な手順はWindowsと同じです。
例として~/projects/myprojectというフォルダで作業するとします。
まず、作業フォルダに移動します。
cd ~/projects/myproject
次に、venvモジュールを使って仮想環境を作成します。
python3 -m venv venv
コマンドが成功すると、カレントディレクトリの中にvenvフォルダが作成されます。
仮想環境を有効化する方法

MacやLinuxのシェル(BashやZsh)では、次のコマンドで仮想環境を有効化します。
# myproject フォルダにいる前提
cd ~/projects/myproject
# venv を有効化
source venv/bin/activate
または、シェルによっては. venv/bin/activateと書くこともあります。
有効化されると、プロンプトの先頭に(venv)と表示されるようになります。
この状態でpythonやpipを実行すると、その仮想環境のPythonやライブラリが使われます。
(確認) どのPythonが使われているかチェック
which python
which pip
出力パスに/path/to/myproject/venv/bin/pythonのようにvenv/binが含まれていれば、仮想環境が正しく有効になっています。
仮想環境を無効化する方法
Macでも、仮想環境の無効化はWindowsと同じコマンドです。
deactivate
プロンプトから(venv)が消えれば、仮想環境は無効化されています。
以降のpythonやpipは、グローバル環境のものが使われるようになります。
仮想環境を使う際のよくあるトラブルと対処法
venvコマンドが見つからない場合の対処法

python -m venvを実行した時に、次のようなエラーが出ることがあります。
ModuleNotFoundError: No module named 'venv'No module named venv
この場合、主に次の原因が考えられます。
Pythonのバージョンが古い
Python 3.3未満には標準でvenvモジュールが含まれていません。
Python 3.8〜3.12など、比較的新しいバージョンをインストールして使ってください。
バージョンを確認するには、次のコマンドを実行します。
python --version
python3 --version
Windowsで「Pythonのオプション機能」が不足している
Windows版のPythonをインストールする際、オプションで一部の標準ライブラリが外されている場合があります。
その場合は、公式インストーラからPythonを再インストールし、「全ユーザー用にインストール」「パスを通す」などのチェックを適切に入れてセットアップし直してください。
activateできない時の原因

仮想環境のactivateスクリプトがうまく実行できないケースもよくあります。
代表的な原因を見ていきます。
Windows PowerShellの実行ポリシーに阻まれている
PowerShellで次のようなエラーが出る場合があります。
このシステムではスクリプトの実行が無効になっているため...
これはPowerShellの「実行ポリシー」が厳しすぎるため、Activate.ps1が実行できないことが原因です。
一時的に実行ポリシーを緩めるには、管理者としてPowerShellを開き、次のコマンドを実行します。
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
対話的に確認が出るので、Yを入力して続行します。
その後、再度.\venv\Scripts\Activate.ps1を実行してみてください。
パスの指定ミスやフォルダ位置の勘違い
単純にcdで別のフォルダに移動してしまっているなど、現在位置と仮想環境の場所がずれているケースも多いです。
- Windows:
dirコマンドでvenvフォルダが見える場所にいるか確認する - Mac:
lsコマンドでvenvフォルダが見えるか確認する
それでも見つからない場合は、仮想環境を作成したフォルダに戻るか、仮想環境自体を作り直しましょう。
仮想環境の場所と削除方法

仮想環境の中身は、基本的に1つのフォルダの中に完結しています。
この記事の例では、次の場所になります。
- Windows:
C:\work\myproject\venv\ - Mac:
~/projects/myproject/venv/
仮想環境の削除方法
仮想環境を完全に消したい場合は、フォルダごと削除すればOKです。
- Windowsのエクスプローラーで
venvフォルダを右クリックして削除 - MacのFinderで
venvフォルダをゴミ箱に移動
コマンドラインから削除する場合は、次のようにします。
# Windows (PowerShell)
Remove-Item -Recurse -Force .\venv
# Mac / Linux
rm -rf venv
削除コマンドは取り消しができないため、カレントディレクトリやフォルダ名をよく確認してから実行するようにしてください。
仮想環境を削除しても、プロジェクト本体のソースコードやrequirements.txtなどは残ります。
必要になったら、同じ場所にもう一度python -m venv venvで仮想環境を作り直せます。
まとめ
Pythonの仮想環境(venv)は、プロジェクトごとに独立した実行環境を簡単に作れる、とても重要な仕組みです。
WindowsでもMacでも、基本の流れは「Pythonの確認 → python -m venv venvで作成 → activateで有効化 → deactivateで終了」という共通パターンになります。
この記事の手順とトラブル対処法を押さえておけば、仮想環境の操作で迷うことはほとんどなくなりますので、まずは小さなプロジェクトから実際に試して慣れてみてください。
