Pythonの仮想環境とは?venvの作り方・使い方を解説

PR Python

Pythonの仮想環境とは?venvの作り方・使い方を解説

💡 この記事でわかること

  • 仮想環境とは何か、なぜ必要なのか
  • 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/activate

Windows(PowerShell)の場合

venv\Scripts\Activate.ps1

Windows(コマンドプロンプト)の場合

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

👉 設定を変更することになるので、意味を理解したうえで実行してください。不安なときは、コマンドプロンプトを使えば変更は不要です。

👉 VS Codeの統合ターミナルについての記事はこちら


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には、これらは入っていません。

👉 Pythonのrequestsについての記事はこちら


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/ と書きます。

👉 Gitの.gitignoreについての記事はこちら


8. VS Codeで仮想環境を使う

VS Codeで、Microsoftの「Python」拡張機能を入れている場合は、使うPythonとして仮想環境を選べます。

  • コマンドパレットを開く(Macは Cmd + Shift + P、Windowsは Ctrl + Shift + P)
  • Python: Select Interpreter を選ぶ
  • 一覧から、作った venv フォルダの中のPythonを選ぶ

👉 選んだあとに新しく開いたターミナルでは、仮想環境が自動で有効化されることが多いです。ただし、表示名や動作は、拡張機能のバージョンによって変わることがあります。行頭の (venv) が表示されているか、確認する習慣を付けておきましょう。

👉 VS Codeの拡張機能についての記事はこちら


9. つまずきやすいポイント

① 有効化を忘れて、ModuleNotFoundError になる

仮想環境の中で pip install したのに、あとで有効化せずにプログラムを実行すると、ModuleNotFoundError: No module named 'requests' のようなエラーになります。インストールしたのは仮想環境の中で、いま実行しているのは別のPythonだからです。行頭の (venv) と、which python で確認しましょう。

② フォルダを移動・名前変更すると、動かなくなることがある

仮想環境には、作った場所のパスが記録されています。フォルダを移動したり名前を変えたりすると、うまく動かなくなることがあります。その場合は、venv フォルダを削除して作り直し、pip install -r requirements.txt で復元するのが簡単です。

③ 別のプロジェクトに移っても、有効なままになっている

有効化した状態でフォルダを移動しても、仮想環境は有効のままです。別のプロジェクトの作業に移るときは、いったん deactivate してから、そのプロジェクトの仮想環境を有効化してください。


10. 仮想環境 コマンド早見表

やりたいことMac・LinuxWindows
仮想環境を作るpython3 -m venv venvpython -m venv venv(または py -m venv venv)
有効化するsource venv/bin/activatevenv\Scripts\activate.bat(PowerShellは Activate.ps1)
無効化するdeactivatedeactivate
パッケージを入れるpip install パッケージ名pip install パッケージ名
一覧を書き出すpip freeze > requirements.txtpip freeze > requirements.txt
一覧から一括インストールpip install -r requirements.txtpip 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 だけを管理する

👉 外部ライブラリを使うプロジェクトを始めるときは、まず仮想環境を作る、と習慣にしておくと、環境まわりのトラブルを大きく減らせます。

-Python
-, , , ,