前提:venvの作成とPowerShellでの有効化
まずはプロジェクト直下に仮想環境を作成します。(Python 3.13 以降でも同様)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
一時的に許可してから実行します:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1
なぜVS Codeに反映されないのか
code . で起動したVS Codeは新しいプロセスとして立ち上がるため、親のPowerShellで有効化した環境は引き継ぎません。よって、VS Code側で使うPythonを明示的に指定する必要があります。
VS Codeでインタプリタを選択する
- VS Codeを開く
- Ctrl + Shift + P(macOSは Cmd + Shift + P)
- Python: Select Interpreter を実行
- 候補から
.venv\Scripts\python.exeを選択
.venvを置くと、候補に出やすく管理もしやすいです。
設定ファイルで固定する(おすすめ)
毎回の手動選択を避けるため、ワークスペース設定で既定インタプリタを固定します。
プロジェクトに .vscode/settings.json を作成し、以下を追加:
{
"python.defaultInterpreterPath": ".venv/Scripts/python.exe"
}
これでこのプロジェクトは常に .venv のPythonを使います。
統合ターミナルで自動有効化する
VS Codeの統合ターミナルを開いたとき、仮想環境を自動で有効化したい場合:
{
"python.terminal.activateEnvironment": true
}
※上記は同じ .vscode/settings.json に追記してOKです。
トラブルシューティング
「スクリプトの実行が無効です」と表示される
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
cmd.exe で有効化したい
.\path\to\venv\Scripts\activate.bat
インタプリタ候補に .venv が出てこない
- プロジェクト直下に
.venvがあるか確認 - VS CodeのPython拡張機能が有効か確認
- ワークスペース設定で
python.defaultInterpreterPathを明示
まとめ
- PowerShellで
Activate.ps1しても VS Code には引き継がれない - VS Code内で Python: Select Interpreter から
.venv\Scripts\python.exeを選ぶ .vscode/settings.jsonにpython.defaultInterpreterPathを設定すると快適- 統合ターミナルは
python.terminal.activateEnvironmentで自動有効化
関連リンク
PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード
Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド
Pythonでmoricons.dllのアイコンをPNGとして抽出する方法
【Python音声再生】playsoundではなくpygameを選ぶ理由とは?
Pythonのtqdmライブラリで簡単プログレスバーを実装する方法
📡Dash × PlotlyでリアルタイムスピードテストWebアプリを作る
【Python】pyttsx3のインストール方法と使い方|音声合成で日本語を喋らせる&音声ファイルに保存
【Python入門】pydubで簡単なリズムを作ってmp3保存する方法|audioopエラー対策
pydubで複数のmp3をミックスして保存する方法|音楽合成を簡単に実現
Windows PowerShellでPython仮想環境(venv)をVS Codeに反映させる方法
Windows 11でタスクマネージャー以外からアプリを終了させる方法【PowerShell・コマンドプロンプト】