Pythonで開発をしていると、「このプロジェクトはPython3.11、別のプロジェクトは3.8で動かしたい」というように、複数バージョンを使い分ける場面が必ず出てきます。
そんなときに便利なのがVS Codeのインタープリタ(Python実行環境)切り替え機能です。
VS Codeなら、仮想環境(venvやAnaconda)も含めて簡単にPythonのバージョンを切り替えられます。
この記事では、以下の内容を初心者にもわかりやすく解説します:
- VS CodeでPythonバージョンを切り替える基本方法
- 仮想環境(venv、conda)での使い分け
- プロジェクトごとのバージョン管理
- よくあるトラブルと対処法
- 実際の開発現場での活用例
Pythonの複数バージョンを安全かつ効率的に管理できるようになりましょう!
VS CodeがPythonのバージョンを切り替えられる仕組み
Python拡張機能の役割
VS Codeは「Python拡張機能」を入れると、Pythonの実行環境(インタープリタ)を自由に選べるようになります。
対応している環境
- システム全体のPython – 例:
C:\Python310\python.exe
- プロジェクト専用の仮想環境 – venv、virtualenv
- Anacondaの環境 – conda環境
- pyenv管理のバージョン – pyenvで管理されたPython
- Docker環境 – コンテナ内のPython
インタープリタとは?
インタープリタとは、Pythonコードを実際に実行するプログラムのことです。
例えば
print("Hello, World!")
このコードを実行するとき、VS Codeは選択されたインタープリタにコマンドを渡します。
なぜバージョンを使い分けるの?
実際の開発現場での例
プロジェクトA(AI・機械学習)
- Python 3.9
- TensorFlow 2.10(Python 3.9対応)
- 古いライブラリとの互換性重視
プロジェクトB(Webアプリ)
- Python 3.11
- Django 4.2(最新機能を活用)
- パフォーマンス重視
プロジェクトC(データ分析)
- Python 3.10
- pandas、NumPy(安定バージョン)
- 長期保守重視
Python拡張機能のインストール
事前準備
ステップ1: Python拡張機能のインストール
- VS Codeを起動
- 拡張機能パネル(
Ctrl + Shift + X
)を開く - 「Python」を検索
- Microsoft製のPython拡張機能をインストール
ステップ2: 拡張機能の動作確認
拡張機能がインストールされると、VS Code左下に現在のPythonバージョンが表示されます:
Python 3.11.3 64-bit
もし表示されない場合は、Pythonファイル(.py)を開いてください。
Pythonのバージョンを切り替える基本手順
方法1: ステータスバーから切り替え
ステップ1: 現在のバージョンを確認
VS Codeの**左下(ステータスバー)**に表示されている内容を確認:
Python 3.11.3 64-bit
ステップ2: インタープリタメニューを開く
ステータスバーのPythonバージョン表示をクリックすると、使えるPython環境の一覧が表示されます。
ステップ3: 希望する環境を選択
一覧から使いたいバージョンをクリックするだけで、すぐに切り替わります。
表示例
Python 3.11.3 ('base': conda) C:\Anaconda3\python.exe
Python 3.10.8 64-bit C:\Python310\python.exe
Python 3.9.16 ('myproject': venv) .\venv\Scripts\python.exe
Python 3.8.10 64-bit C:\Python38\python.exe
ステップ4: 切り替わったか確認
VS Code左下の表示が変わればOKです:
Python 3.8.10 64-bit
方法2: コマンドパレットから切り替え
より確実にインタープリタを選択したい場合:
手順
Ctrl + Shift + P
でコマンドパレットを開く- 「Python: Select Interpreter」と入力・選択
- 使用可能なPython環境の一覧から選択
方法3: 設定ファイルでの固定
workspace設定での指定
プロジェクト固有の設定として、.vscode/settings.json
に記述:
{
"python.defaultInterpreterPath": "./venv/Scripts/python.exe"
}
仮想環境でのバージョン管理
venv(標準ライブラリ)での環境作成
Python 3.8環境の作成例
ステップ1: 特定バージョンでvenv作成
# Windows
py -3.8 -m venv venv-py38
# macOS/Linux
python3.8 -m venv venv-py38
ステップ2: 仮想環境の有効化
# Windows
venv-py38\Scripts\activate
# macOS/Linux
source venv-py38/bin/activate
ステップ3: 必要なパッケージのインストール
# Jupyter対応(VS Codeでの補完に必要)
pip install ipykernel
# プロジェクトの依存関係
pip install django==4.1 requests
ステップ4: VS Codeでの選択 VS Codeのインタープリタ選択で以下を選択:
Python 3.8.10 ('venv-py38': venv) .\venv-py38\Scripts\python.exe
Anaconda環境での管理
conda環境の作成と切り替え
ステップ1: 環境の作成
# Python 3.9の新しい環境を作成
conda create -n myproject-py39 python=3.9
# 特定パッケージも同時にインストール
conda create -n datascience-py310 python=3.10 pandas numpy matplotlib
ステップ2: 環境の確認
# 利用可能な環境一覧
conda env list
ステップ3: VS Codeでの選択 インタープリタ選択で以下のような表示から選択:
Python 3.9.16 ('myproject-py39': conda) C:\Anaconda3\envs\myproject-py39\python.exe
pyenvでのバージョン管理(macOS/Linux)
pyenvを使った複数バージョン管理
インストール可能なバージョン確認
pyenv install --list
特定バージョンのインストール
# Python 3.10.12をインストール
pyenv install 3.10.12
# Python 3.11.5をインストール
pyenv install 3.11.5
プロジェクトごとのバージョン設定
# プロジェクトディレクトリで実行
cd my-project
pyenv local 3.10.12
# .python-versionファイルが作成される
cat .python-version
# 3.10.12
プロジェクトごとのバージョン管理の実例
Webアプリケーションプロジェクト
Django プロジェクトの例
プロジェクト構造
my-django-app/
├── .vscode/
│ └── settings.json
├── venv/
│ └── Scripts/
│ └── python.exe
├── requirements.txt
├── manage.py
└── myapp/
環境構築手順
# プロジェクトディレクトリ作成
mkdir my-django-app
cd my-django-app
# Python 3.11でvenv作成
py -3.11 -m venv venv
# 仮想環境の有効化
venv\Scripts\activate
# Django等のインストール
pip install django==4.2 psycopg2-binary
pip freeze > requirements.txt
# VS Codeで開く
code .
VS Code設定(.vscode/settings.json)
{
"python.defaultInterpreterPath": "./venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true,
"python.linting.enabled": true,
"python.linting.pylintEnabled": true
}
データサイエンスプロジェクト
Jupyter + pandas プロジェクトの例
Anaconda環境の作成
# データサイエンス用環境作成
conda create -n datascience python=3.10
conda activate datascience
# 必要パッケージのインストール
conda install pandas numpy matplotlib seaborn jupyter
conda install scikit-learn tensorflow
# VS Code用のカーネル登録
python -m ipykernel install --user --name datascience --display-name "Python (datascience)"
VS CodeでのJupyter使用
.ipynb
ファイルを開く- 右上のカーネル選択で「Python (datascience)」を選択
- データ分析開始!
機械学習プロジェクト
TensorFlow プロジェクトの例
環境の作成
# TensorFlow用環境(Python 3.9推奨)
conda create -n tensorflow-env python=3.9
conda activate tensorflow-env
# TensorFlowとその他必要パッケージ
pip install tensorflow==2.13.0
pip install keras pandas numpy matplotlib
pip install jupyter ipykernel
# VS Codeで開く
code .
よくあるトラブルと解決方法
インタープリタに目的のバージョンが出てこない
症状
- VS Codeのインタープリタ選択に使いたいPython環境が表示されない
- 仮想環境を作ったのに認識されない
解決方法
方法1: VS Codeの再起動
# VS Codeを完全に閉じて再起動
方法2: インタープリタリストの再読み込み
Ctrl + Shift + P
でコマンドパレット- 「Python: Refresh Interpreters」を実行
方法3: 手動でパスを指定
Ctrl + Shift + P
→ 「Python: Select Interpreter」- 「Enter interpreter path…」を選択
- Python実行ファイルのパスを直接入力
# Windows venv例
.\venv\Scripts\python.exe
# macOS/Linux venv例
./venv/bin/python
# conda環境例
C:\Anaconda3\envs\myenv\python.exe
venvが選択できない
症状
- venvを作成したのにVS Codeで選択できない
- 仮想環境内のパッケージが認識されない
解決方法
ステップ1: ipykernelのインストール
# 仮想環境を有効化してから
pip install ipykernel
ステップ2: 仮想環境の再作成
# 既存のvenvを削除
rmdir /s venv # Windows
rm -rf venv # macOS/Linux
# 新しく作成
python -m venv venv
venv\Scripts\activate # Windows
pip install ipykernel
ステップ3: VS Codeのリロード
Ctrl + Shift + P
→ 「Developer: Reload Window」
Windowsで複数バージョンが混在して困る
症状
python
コマンドが期待したバージョンを実行しない- 複数のPythonがインストールされていて混乱
解決方法
インストール済みPythonの確認
# Pythonランチャーで確認
py -0
# 出力例
# Installed Pythons found by py Launcher for Windows
# -3.11-64 *
# -3.10-64
# -3.9-64
# -3.8-64
特定バージョンでの実行
# Python 3.8で仮想環境作成
py -3.8 -m venv venv-py38
# Python 3.11で仮想環境作成
py -3.11 -m venv venv-py311
PATH環境変数の整理
- 「環境変数」設定を開く
- PATHからPython関連のパスを確認
- 不要なパスを削除(注意深く)
パッケージがインポートできない
症状
ModuleNotFoundError: No module named 'pandas'
- パッケージをインストールしたのに認識されない
原因と解決方法
原因: 異なる環境にインストールしている
確認方法
# 現在のPython実行パスを確認
import sys
print(sys.executable)
# インストール済みパッケージの確認
import pkg_resources
installed_packages = [d.project_name for d in pkg_resources.working_set]
print(sorted(installed_packages))
解決方法
- VS Codeで正しいインタープリタが選択されているか確認
- ターミナルで仮想環境が有効化されているか確認
- 正しい環境でパッケージを再インストール
# 仮想環境を有効化してから
pip install pandas numpy
実践的な活用例
チーム開発での環境統一
requirements.txtでの依存関係管理
環境の作成と共有
# 開発環境のセットアップ
python -m venv venv
venv\Scripts\activate
# 依存関係のインストール
pip install -r requirements.txt
# 新しいパッケージを追加した場合
pip freeze > requirements.txt
requirements.txtの例
Django==4.2.5
psycopg2-binary==2.9.7
requests==2.31.0
pytest==7.4.0
black==23.7.0
flake8==6.0.0
VS Code設定の共有
プロジェクト共通設定(.vscode/settings.json)
{
"python.defaultInterpreterPath": "./venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true,
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "88"],
"editor.formatOnSave": true
}
Docker環境での開発
Dockerを使った完全な環境固定
Dockerfile例
FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
VS CodeでのDocker開発
- Remote-Containers拡張機能をインストール
.devcontainer/devcontainer.json
を作成- コンテナ内でVS Codeを開く
CI/CDでの環境統一
GitHub Actionsでの自動テスト
.github/workflows/test.yml
name: Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, 3.10, 3.11]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: python -m pytest
高度な設定とカスタマイズ
launch.jsonでのデバッグ設定
仮想環境を使ったデバッグ設定
.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"python": "${workspaceFolder}/venv/Scripts/python.exe"
},
{
"name": "Django: Debug Server",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": ["runserver", "--noreload"],
"django": true,
"python": "${workspaceFolder}/venv/Scripts/python.exe"
}
]
}
tasks.jsonでのタスク自動化
仮想環境の自動セットアップ
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Create Virtual Environment",
"type": "shell",
"command": "python",
"args": ["-m", "venv", "venv"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"label": "Install Requirements",
"type": "shell",
"command": "./venv/Scripts/pip",
"args": ["install", "-r", "requirements.txt"],
"group": "build",
"dependsOn": "Create Virtual Environment"
}
]
}
まとめ
VS Codeを使えば、Pythonの複数バージョンを簡単に管理・切り替えできます:
主要な方法
- ステータスバーから切り替え – 最も簡単で直感的
- コマンドパレット – より確実で詳細な制御
- 設定ファイル – プロジェクト固有の環境固定
仮想環境の活用
- venv – Python標準、軽量で高速
- conda – パッケージ管理が強力、データサイエンス向け
- pyenv – システムレベルでのバージョン管理
ベストプラクティス
- プロジェクトごとに仮想環境を作成
- requirements.txtで依存関係を管理
- チーム全体で設定を統一
- CI/CDで自動テストを実行
実用的な設定例
基本的なワークフロー
# 1. プロジェクト作成
mkdir my-python-project
cd my-python-project
# 2. 仮想環境作成
python -m venv venv
venv\Scripts\activate
# 3. パッケージインストール
pip install pandas numpy
pip freeze > requirements.txt
# 4. VS Codeで開く
code .
# 5. インタープリタ選択
# VS Code左下 → venv環境を選択
コメント