2025.07.19(土) / 15:15
Pythonの仮想環境「venv」の作成・起動・無効化
- ID
- 31291
- Published
- 2025-07-19 15:15
- Modified
- 2026-07-13 10:27
- Author
- khiro
- Tags
- Python
Pythonの仮想環境「venv」を作成→起動→無効化する方法をまとめる。
インタープリターを設定する(どのPythonにコードを読ませるか選択する)方法についても触れる。
venvとは
venv は、プロジェクトごとにPythonの実行環境やライブラリを分離するための仕組みです。
仮想環境を利用することで、プロジェクトごとに異なるバージョンのライブラリを管理でき、依存関係の衝突を防げます。
仮想環境を作成する
仮想環境を作成したいディレクトリで、以下のコマンドを入力する。
python -m venv venv
最後の venv は、作成する仮想環境のディレクトリ名です。
.venv という名前にする場合は、次のように入力します。
python3 -m venv .venv
コマンドを実行すると、プロジェクト内に venv または .venv ディレクトリが作成されます。
macOSで「python」を使用したときのエラー
macで行うと、2系のPythonを使用してしまう。
2系のPythonには標準でvenvモジュールが存在しないためエラーになる。

Mac:eki-api shibatahiroshitaka$ python -m venv .venv
/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named venv

そのため、python3と明示的に書いた。
hiroki@shibatahiroshitakanoiMac django_todo % python3 -m venv venv
以下のような仮想環境ディレクトリが作成された。

仮想環境を起動する
以下のコマンドで仮想環境を起動した。
source venv/bin/activate
仮想環境のディレクトリ名を .venv にした場合は、次のようになります。
source .venv/bin/activate
起動後にターミナルのプロンプトに(venv)が表示される。
(venv) hiroki@shibatahiroshitakanoiMac django_todo %
この状態で pip install を実行すると、ライブラリは有効化している仮想環境内にインストールされます。
VS Codeでインタープリターを選択する
仮想環境を作成しただけでは、VS Codeが別のPython環境を使用している場合があります。
そのため、作成した仮想環境のPythonインタープリターを選択します。
- VS Codeのメニューから「表示」を開く
- 「コマンドパレット」をクリックする
interpreterと入力する- 「Python: インタープリターを選択」をクリックする
- 作成した
venvまたは.venvのPythonを選択する
これにより、仮想環境にインストールしたライブラリをVS Codeが正しく認識できるようになります。
1, 2
View > コマンドパレットをクリックする。

3, 4
inter で検索をかけて、インタープリターを選択をクリックする。

5
作成した仮想環境を選択する。

これにより、仮想環境にインストールしたライブラリをVS Codeが正しく認識できる。
仮想環境を無効化する
仮想環境を終了する場合は、次のコマンドを実行します。
deactivate
プロンプトの先頭に表示されていた (venv) が消えれば、仮想環境から抜けています。
コマンド一覧
# 仮想環境を作成
python3 -m venv venv
# 仮想環境を起動
source venv/bin/activate
# 仮想環境を無効化
deactivate
まとめ
DjangoやFastAPIなどのPythonプロジェクトでは、使用するライブラリやバージョンをプロジェクトごとに分離するため、仮想環境の利用が推奨されます。
基本的な流れは、次のとおりです。
python3 -m venv venvで仮想環境を作成するsource venv/bin/activateで仮想環境を起動する- VS Codeで仮想環境のインタープリターを選択する
- 作業終了後に
deactivateで無効化する
Pythonプロジェクトを新しく作成するときは、最初に仮想環境を用意しておくと、依存関係を安全に管理できます。