「VS CodeでPythonプロジェクトを開いたのに、作ったvenv(仮想環境)を認識してくれない」
「いつの間にかグローバルのPythonで実行されてしまった」こんな経験はありませんか?
VS Codeは非常に便利ですが、venvを正しく認識させるためには少しコツ がいります。
この記事では、VS CodeでPythonのvenvをきちんと認識・利用させる方法を初心者にもわかりやすく解説します。
VS Codeでvenvが認識されないよくある原因

venvを作成した場所が違う
VS Codeは、デフォルトで プロジェクトのルートディレクトリ以下 にある venv
や .venv
を自動で検出します。
認識されやすいフォルダ構成例
project/
├─ app.py
├─ requirements.txt
├─ venv/
│ ├─ Scripts/(Windows)または bin/(macOS/Linux)
│ ├─ Lib/
│ └─ ...
このように同じフォルダ内に venv
があれば認識しやすいです。
認識されにくいパターン
# NG例:プロジェクトの外にvenvがある
C:/
├─ Users/username/venvs/myproject/
└─ Projects/myproject/
└─ app.py
VS CodeのPython拡張が入っていない
Python用のVS Code拡張(ms-python.python)が入っていないと仮想環境を検出できません。
Python拡張のインストール手順
- 左側の拡張アイコン(四角いマーク)をクリック
- 検索欄で「Python」を検索
- Microsoft製の「Python」拡張をインストール
- VS Codeを再起動
パスに日本語や特殊文字が含まれている
フォルダ名やパスに日本語が含まれていると、venvが正常に動作しない場合があります。
# 避けた方がよいパス例
C:/プロジェクト/マイアプリ/venv/
# 推奨パス例
C:/projects/myapp/venv/
venvをVS Codeで認識させる基本手順
ターミナルでvenvを作成
VS Codeのターミナルを開き(Ctrl + Shift + ö
または Ctrl + Shift + @
)、以下を実行します。
python -m venv venv
venvの名前を変える場合
# .venvという名前で作成(隠しフォルダ)
python -m venv .venv
# プロジェクト名を含めた名前
python -m venv myproject-env
仮想環境を有効化
Windows(PowerShell/Command Prompt)
# PowerShell
venv\Scripts\Activate.ps1
# Command Prompt
venv\Scripts\activate.bat
macOS/Linux
source venv/bin/activate
有効化されたかの確認方法
ターミナルのプロンプトに (venv)
が表示されれば成功です:
(venv) PS C:\projects\myapp>
VS Codeの右下からインタプリタを選択
VS Codeの画面右下に表示されるPythonバージョン情報をクリックします。
Python 3.x.x 64-bit ('venv': venv)
のような表示が出ていればクリックし、仮想環境を選びます。
もし表示されないときの対処法
Ctrl + Shift + P
(コマンドパレット)を開く- 「Python: Select Interpreter」と入力
- 出てきた選択肢から適切なvenvを選択
手動でvenvのパスを指定
コマンドパレットで「Python: Select Interpreter」を選択後、「Enter interpreter path…」をクリックし、以下のパスを直接入力:
# Windows
./venv/Scripts/python.exe
# macOS/Linux
./venv/bin/python
settings.jsonで強制的に指定する方法

プロジェクト固有の設定
VS Codeがどうしても自動認識しない場合は、プロジェクトフォルダ内に .vscode/settings.json
を作成し、以下を設定します。
Windows向け設定
{
"python.defaultInterpreterPath": "${workspaceFolder}/venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true
}
macOS/Linux向け設定
{
"python.defaultInterpreterPath": "${workspaceFolder}/venv/bin/python",
"python.terminal.activateEnvironment": true
}
グローバル設定(全プロジェクト共通)
VS Codeの設定画面(Ctrl + ,
)で「python.defaultInterpreterPath」を検索し、デフォルトのPythonパスを設定できます。
{
"python.defaultInterpreterPath": "python",
"python.venvPath": "~/venvs"
}
venv認識の確認方法
ターミナルでの確認
# Pythonのパスを確認
where python
# または
which python
# pipのパスを確認
where pip
# または
which pip
仮想環境が正しく有効化されていれば、venvフォルダ内のPythonとpipが表示されます。
VS Code内での確認方法
インタプリタ情報の確認
Ctrl + Shift + P
でコマンドパレットを開く- 「Python: Show Interpreter Path」を実行
- 現在使用中のPythonパスが表示される
実行中のPythonパスを確認
新しいPythonファイルを作成し、以下のコードを実行:
import sys
print(sys.executable)
print(sys.path)
venvのパスが表示されれば正常に認識されています。
よくあるトラブルと解決方法
PowerShellでスクリプト実行が禁止されている
Windowsで以下のエラーが出る場合:
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。
解決方法
管理者権限でPowerShellを開き、以下を実行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
VS Codeでターミナルを開いても仮想環境が有効化されない
.vscode/settings.json
に以下を追加:
{
"python.terminal.activateEnvironment": true,
"python.terminal.activateEnvInCurrentTerminal": true
}
複数のPythonバージョンがインストールされている
特定のPythonバージョンでvenvを作成
# Python 3.9で仮想環境を作成
py -3.9 -m venv venv
# または直接パスを指定
C:\Python39\python.exe -m venv venv
venvが古くなってしまった
venvの再作成手順
# 既存のvenvを削除
rmdir /s venv # Windows
rm -rf venv # macOS/Linux
# 新しいvenvを作成
python -m venv venv
# 有効化
venv\Scripts\activate # Windows
source venv/bin/activate # macOS/Linux
# パッケージの再インストール
pip install -r requirements.txt
より便利な使い方
requirements.txtからの自動セットアップ
# venv作成から必要なパッケージインストールまで一括
python -m venv venv
venv\Scripts\activate # Windows
pip install --upgrade pip
pip install -r requirements.txt
複数の仮想環境を管理
プロジェクトごとに異なる環境が必要な場合:
# 開発環境
python -m venv venv-dev
pip install -r requirements-dev.txt
# 本番環境
python -m venv venv-prod
pip install -r requirements.txt
.vscode/settings.json
でプロファイルを切り替え:
{
"python.defaultInterpreterPath": "${workspaceFolder}/venv-dev/Scripts/python.exe"
}
VS Code拡張の活用
Python Environment Manager
複数の仮想環境を簡単に切り替えられる拡張機能です。
autoDocstring
仮想環境内のパッケージに対応したドキュメント生成ができます。
よくある質問

Q: condaとvenvはどちらを使えばいいですか?
A: 用途によって使い分けます:
- venv: Pythonの標準機能、軽量、シンプル
- conda: データサイエンス向け、パッケージ管理が強力
VS Codeはどちらにも対応していますが、初心者にはvenvがおすすめです。
Q: GitHubにvenvフォルダをプッシュしてもいいですか?
A: .gitignore
にvenvを追加して、リポジトリには含めないのが一般的です:
venv/
.venv/
__pycache__/
*.pyc
代わりに requirements.txt
でパッケージ情報を共有します。
Q: 仮想環境の名前を変更するには?
A: venvは名前変更に対応していないため、新しい名前で作り直すのが確実です:
# 既存の環境からrequirements.txtを生成
pip freeze > requirements.txt
# 新しい名前で環境を作成
python -m venv new-venv-name
new-venv-name\Scripts\activate
pip install -r requirements.txt
まとめ
VS Codeでvenvを確実に認識させるためのポイント:
- プロジェクト直下に
venv
を作成する - Python拡張をインストールし、適切な設定をする
- VS Codeの右下 or コマンドパレットでPythonインタプリタを選択
- 必要なら
.vscode/settings.json
で明示的に指定 - ターミナルでの確認を習慣化する
コメント