💡 この記事でわかること
- 仮想環境とは何か、なぜ必要なのか
venvでの作成・有効化(activate)・無効化(deactivate)の手順(Mac・Windows別)- 仮想環境の中で
pipを使い、パッケージをインストールする方法 requirements.txtで、パッケージの一覧を共有・再現する方法- Gitの管理対象から外す設定と、VS Codeでの選択方法
1. 仮想環境とは?
仮想環境とは、
👉 プロジェクトごとに、Pythonのパッケージ(ライブラリ)を独立して管理できる専用の環境です。
💡 pip でインストールしたパッケージは、何もしないとパソコン全体で共有されます。そのため、プロジェクトAではライブラリのバージョン1が、プロジェクトBではバージョン2が必要、といった場面でぶつかってしまいます。仮想環境をプロジェクトごとに作っておけば、それぞれ別々のバージョンを、互いに影響なく使えます。
また、最近のMacやLinuxでは、仮想環境を使わずに pip install すると、次のようなエラーになることがあります。
error: externally-managed-environment
× This environment is externally managed👉 これは、OSやHomebrewが管理しているPythonに、勝手にパッケージを追加させないための仕組みです。仮想環境を作ってその中でインストールすれば、このエラーは避けられます。
👉 Pythonのモジュール(importとpip)についての記事はこちら
2. 仮想環境を作る(python -m venv)
仮想環境は、Pythonに標準で付いている venv モジュールで作れます。プロジェクトのフォルダにターミナルで移動してから、次のコマンドを実行します。
python3 -m venv venv👉 最後の venv は、作られるフォルダの名前です。venv や .venv という名前にするのが慣習です。Windowsでは python3 の代わりに python や py を使う環境が多いです。
👉 Macのターミナル(cdコマンドなど)についての記事はこちら
実行すると、プロジェクトの中に venv フォルダが作られます。中には、この環境専用のPythonの実行ファイルや、パッケージの置き場所が入っています。
venv/
├── bin/ ← Pythonやpipの実行ファイル(Windowsでは Scripts/)
├── include/
├── lib/ ← インストールしたパッケージの置き場所
└── pyvenv.cfg ← この仮想環境の設定👉 作っただけでは、まだ使われていません。次の「有効化」をして、はじめて仮想環境の中で作業できるようになります。
3. 仮想環境を有効化する(activate)
有効化のコマンドは、OSによって異なります。
Mac・Linux の場合
source venv/bin/activateWindows(PowerShell)の場合
venv\Scripts\Activate.ps1Windows(コマンドプロンプト)の場合
venv\Scripts\activate.bat有効化できると、ターミナルの行頭に (venv) と表示されます。
(venv) taro@mac my-project %今使っているPythonが、仮想環境のものになっているかは、次のコマンドで確認できます。
which python # Mac・Linux
where python # Windows
# 例(Mac):/Users/taro/my-project/venv/bin/python👉 パスが、作った venv フォルダの中を指していれば、仮想環境が有効になっています。
Windows(PowerShell)で、「このシステムではスクリプトの実行が無効になっているため…」というエラーが出ることがあります。これはセキュリティの設定(実行ポリシー)が原因です。コマンドプロンプトで activate.bat を使うか、Python公式ドキュメントでも案内されている、次のコマンドで現在のユーザーだけ実行を許可する方法があります。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser👉 設定を変更することになるので、意味を理解したうえで実行してください。不安なときは、コマンドプロンプトを使えば変更は不要です。
4. 仮想環境の中でパッケージをインストールする
有効化した状態で pip install を実行すると、パッケージは、この仮想環境の中だけに入ります。
pip install requests
pip list作ったばかりの仮想環境には、pip くらいしか入っていません。requests を入れたあとの pip list は、次のようになります(バージョンは、実行する時期によって異なります)。
Package Version
------------------ ---------
certifi 2026.7.22
charset-normalizer 3.5.1
idna 3.20
pip 26.2.1
requests 2.34.2
urllib3 2.8.0👉 requests が使う他のパッケージ(certifi・urllib3 など)も、あわせてインストールされています。仮想環境の外(無効化した状態)のPythonには、これらは入っていません。
5. 仮想環境を無効化する(deactivate)
作業が終わったら、次のコマンドで仮想環境を抜けます。OSに関係なく、同じコマンドです。
deactivate行頭の (venv) が消えれば、通常の環境に戻っています。次にそのプロジェクトで作業するときは、また有効化から始めます。
6. requirements.txt でパッケージの一覧を共有する
別のパソコンや、チームの他の人が同じ環境を作れるように、インストールしたパッケージの一覧を、ファイルに書き出しておきます。有効化した状態で、次のコマンドを実行します。
pip freeze > requirements.txtすると、次のような requirements.txt が作られます。
certifi==2026.7.22
charset-normalizer==3.5.1
idna==3.20
requests==2.34.2
urllib3==2.8.0別の環境では、仮想環境を作って有効化したあとに、次のコマンドを実行するだけで、同じパッケージを一括でインストールできます。
python3 -m venv venv
source venv/bin/activate # Windowsでは前の章のコマンドを使う
pip install -r requirements.txt👉 pip freeze は、自分で入れたパッケージだけでなく、それが使う他のパッケージ(依存パッケージ)も含めて、バージョンつきで書き出します。パッケージを追加・更新したら、requirements.txt も書き出し直す習慣を付けておくと安心です。
7. Gitの管理対象から外す(.gitignore)
仮想環境のフォルダは、サイズが大きく、パソコンごとに中身が違うため、Gitで管理しません。.gitignore に、次の1行を書いておきます。
venv/👉 環境は requirements.txt からいつでも作り直せるので、管理するのは requirements.txt だけで十分です。フォルダ名を .venv にした場合は .venv/ と書きます。
8. VS Codeで仮想環境を使う
VS Codeで、Microsoftの「Python」拡張機能を入れている場合は、使うPythonとして仮想環境を選べます。
- コマンドパレットを開く(Macは
Cmd + Shift + P、WindowsはCtrl + Shift + P) Python: Select Interpreterを選ぶ- 一覧から、作った
venvフォルダの中のPythonを選ぶ
👉 選んだあとに新しく開いたターミナルでは、仮想環境が自動で有効化されることが多いです。ただし、表示名や動作は、拡張機能のバージョンによって変わることがあります。行頭の (venv) が表示されているか、確認する習慣を付けておきましょう。
9. つまずきやすいポイント
① 有効化を忘れて、ModuleNotFoundError になる
仮想環境の中で pip install したのに、あとで有効化せずにプログラムを実行すると、ModuleNotFoundError: No module named 'requests' のようなエラーになります。インストールしたのは仮想環境の中で、いま実行しているのは別のPythonだからです。行頭の (venv) と、which python で確認しましょう。
② フォルダを移動・名前変更すると、動かなくなることがある
仮想環境には、作った場所のパスが記録されています。フォルダを移動したり名前を変えたりすると、うまく動かなくなることがあります。その場合は、venv フォルダを削除して作り直し、pip install -r requirements.txt で復元するのが簡単です。
③ 別のプロジェクトに移っても、有効なままになっている
有効化した状態でフォルダを移動しても、仮想環境は有効のままです。別のプロジェクトの作業に移るときは、いったん deactivate してから、そのプロジェクトの仮想環境を有効化してください。
10. 仮想環境 コマンド早見表
| やりたいこと | Mac・Linux | Windows |
|---|---|---|
| 仮想環境を作る | python3 -m venv venv | python -m venv venv(または py -m venv venv) |
| 有効化する | source venv/bin/activate | venv\Scripts\activate.bat(PowerShellは Activate.ps1) |
| 無効化する | deactivate | deactivate |
| パッケージを入れる | pip install パッケージ名 | pip install パッケージ名 |
| 一覧を書き出す | pip freeze > requirements.txt | pip freeze > requirements.txt |
| 一覧から一括インストール | pip install -r requirements.txt | pip install -r requirements.txt |
11. まとめ
- 仮想環境は、プロジェクトごとにパッケージを独立して管理するための専用環境
python3 -m venv venvで作り、source venv/bin/activate(Windowsはactivate.bat)で有効化、deactivateで無効化する- 有効化中の
pip installは、その仮想環境の中にだけ入る(行頭の(venv)が目印) pip freeze > requirements.txtで一覧を書き出し、pip install -r requirements.txtで再現するvenvフォルダはGitで管理せず(.gitignore)、requirements.txtだけを管理する
👉 外部ライブラリを使うプロジェクトを始めるときは、まず仮想環境を作る、と習慣にしておくと、環境まわりのトラブルを大きく減らせます。