VS CodeでPythonのバージョンを切り替える方法|仮想環境・複数バージョン対応

python

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拡張機能のインストール

  1. VS Codeを起動
  2. 拡張機能パネル(Ctrl + Shift + X)を開く
  3. Python」を検索
  4. 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: コマンドパレットから切り替え

より確実にインタープリタを選択したい場合:

手順

  1. Ctrl + Shift + Pでコマンドパレットを開く
  2. Python: Select Interpreter」と入力・選択
  3. 使用可能な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使用

  1. .ipynbファイルを開く
  2. 右上のカーネル選択で「Python (datascience)」を選択
  3. データ分析開始!

機械学習プロジェクト

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: インタープリタリストの再読み込み

  1. Ctrl + Shift + Pでコマンドパレット
  2. Python: Refresh Interpreters」を実行

方法3: 手動でパスを指定

  1. Ctrl + Shift + P → 「Python: Select Interpreter
  2. Enter interpreter path…」を選択
  3. 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環境変数の整理

  1. 「環境変数」設定を開く
  2. PATHからPython関連のパスを確認
  3. 不要なパスを削除(注意深く)

パッケージがインポートできない

症状

  • 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))

解決方法

  1. VS Codeで正しいインタープリタが選択されているか確認
  2. ターミナルで仮想環境が有効化されているか確認
  3. 正しい環境でパッケージを再インストール
# 仮想環境を有効化してから
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開発

  1. Remote-Containers拡張機能をインストール
  2. .devcontainer/devcontainer.jsonを作成
  3. コンテナ内で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環境を選択

コメント

タイトルとURLをコピーしました