ツール  /  VSCode  /  環境構築

VSCode × Python — 環境構築と必須 Plugin・便利 Plugin

Python インタープリターの選択・仮想環境(venv / conda)の設定から、 Pylance・Black・Ruff・Jupyter など必須・便利拡張機能まで一挙解説。 データサイエンスから Web アプリ開発まで対応した実践的なセットアップガイドです。

1. Python のインストール

公式サイト(python.org)から 最新の安定版をダウンロードします。2025年時点では Python 3.12 / 3.13 が推奨です。

⚠️ Windows のインストーラー注意点
インストーラー起動時に 「Add Python to PATH」 のチェックボックスを必ずオンにしてください。 この設定を忘れると、コマンドラインから python コマンドが認識されません。
bash — インストール確認
# バージョン確認
python --version
# または
python3 --version

# pip の確認
pip --version

macOS / Linux では pyenv を使うと複数バージョンの管理が容易です。

bash — pyenv(macOS)
# pyenv のインストール
brew install pyenv

# .zshrc に追記
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc

# Python をインストール
pyenv install 3.12.3
pyenv global 3.12.3

# 確認
python --version

2. 仮想環境(venv)のセットアップ

プロジェクトごとに仮想環境を作成することで、パッケージのバージョン競合を防げます。 標準の venv を使う方法を解説します。

bash — 仮想環境の作成と有効化
# プロジェクトルートで仮想環境を作成
python -m venv .venv

# 有効化
# Windows (PowerShell)
.venv\Scripts\Activate.ps1

# Windows (Command Prompt)
.venv\Scripts\activate.bat

# macOS / Linux
source .venv/bin/activate

# 確認(プロンプトに(.venv)が表示されれば OK)
which python   # macOS/Linux
where python   # Windows

# 無効化
deactivate

VSCode では Ctrl+Shift+P → 「Python: インタープリターを選択」から 作成した .venv を選択することで、自動的に仮想環境が有効化されます。

.venv は .gitignore に追加を推奨
仮想環境フォルダはリポジトリに含める必要はありません。 代わりに requirements.txt または pyproject.toml でパッケージを管理します。

3. 必須 Plugin

Plugin 名種別役割
Python (Microsoft) 必須 Python 拡張の中核。インタープリター管理・デバッグ・テスト実行・Jupyter ノートブックサポートの基盤となる。 これだけで Python ファイルの基本的な実行・デバッグが可能になる。
Pylance (Microsoft) 必須 高性能な言語サーバー(Pyright ベース)。型チェック・コード補完・インポート解決・ホバー情報が非常に高速。 Python 拡張とセットで動作し、インテリセンスの品質を大幅に向上させる。
Ruff 必須 Rust 製の超高速 Linter & Formatter。Flake8・isort・Black などを一本化できる。 保存時の自動整形と import ソートを同時にこなし、CI との統合も容易。現在最も推奨される選択肢。

4. 便利 Plugin

コード整形・品質

Plugin 名種別役割
Black Formatter 便利 「The Uncompromising Code Formatter」。設定不要で一貫したスタイルを強制する。 Ruff の formatter(ruff format)と互換性があるため、どちらか一方を選べばよい。
isort 便利 import 文を自動整列(stdlib → third-party → local の順)する。 Ruff を使う場合は Ruff 側で isort 相当の整列が含まれるため不要。
autoDocstring 便利 関数・クラスの docstring テンプレートを自動生成。 Google / NumPy / Sphinx スタイルを選択可能。""" を入力してタブを押すだけで展開。

データサイエンス・Jupyter

Plugin 名種別役割
Jupyter 便利 VSCode 内で .ipynb ファイルを直接開いてセル実行・変数ウォッチ・グラフ表示ができる。 データサイエンス・機械学習では必須レベルの拡張。
Jupyter Keymap 便利 Jupyter Notebook 標準のキーバインドを VSCode 上で再現する。元々 Jupyter を使っていた人がスムーズに移行できる。
Data Wrangler 便利 pandas DataFrame をスプレッドシート風の UI で可視化・フィルタリング・ソートできる。データ前処理の確認に便利。

テスト・デバッグ

Plugin 名種別役割
Python Test Explorer 便利 pytest / unittest のテストケースをサイドバーにツリー表示。個別テストの実行・失敗箇所のハイライトが可能。
Error Lens 便利 エラー・警告をインラインで行末に表示。問題パネルを開かなくても即座に原因が分かる。Python 以外にも効果的。

その他

Plugin 名種別役割
Path Intellisense 便利 文字列リテラル内のファイルパスを補完。open("./data/ と入力するとファイル候補が表示される。
Python Indent 便利 Enter キーを押したときのインデント量を Python の文法に沿って自動調整。ループ・条件分岐の入力が快適になる。
REST Client 便利 FastAPI・Flask などで開発した API をエディタ内からテスト。.http ファイルに URL と Body を書いて実行するだけ。
Rainbow CSV 便利 CSV ファイルを列ごとに色分け表示。データ分析でよく扱う CSV / TSV の読み取りが格段に楽になる。

5. Python 向け settings.json

JSON — settings.json(Python 向け設定)
{
  // ── Python インタープリター ───────────────────────
  "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
  // Windows の場合:
  // "python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",

  // ── Pylance(型チェック)───────────────────────────
  "python.languageServer": "Pylance",
  "python.analysis.typeCheckingMode": "basic",   // off / basic / strict
  "python.analysis.autoImportCompletions": true,
  "python.analysis.indexing": true,
  "python.analysis.autoSearchPaths": true,

  // ── Ruff(Linter + Formatter) ────────────────────
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.fixAll.ruff": "explicit",
      "source.organizeImports.ruff": "explicit"
    }
  },

  // ── テスト ────────────────────────────────────────
  "python.testing.pytestEnabled": true,
  "python.testing.unittestEnabled": false,
  "python.testing.pytestArgs": ["tests"],

  // ── 仮想環境 ──────────────────────────────────────
  "python.venvPath": "${workspaceFolder}",
  "python.terminal.activateEnvironment": true
}

6. Linting・フォーマット設定(Black / Ruff)

Ruff の設定ファイル(pyproject.toml)

TOML — pyproject.toml
[tool.ruff]
line-length = 120
target-version = "py312"

[tool.ruff.lint]
# E: pycodestyle errors, W: warnings, F: pyflakes, I: isort, UP: pyupgrade
select = ["E", "W", "F", "I", "UP", "B", "C4", "SIM"]
ignore = ["E501"]   # 行長は formatter に任せる

[tool.ruff.lint.isort]
known-first-party = ["mypackage"]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"

Black の設定ファイル(pyproject.toml への追記)

Ruff formatter を使わず Black を使う場合の設定例です。

TOML — pyproject.toml
[tool.black]
line-length = 120
target-version = ["py312"]
include = '\.pyi?$'
extend-exclude = '''
/(
  | .venv
  | dist
  | build
)/
'''

7. デバッグ設定

JSON — .vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Current File",
      "type": "debugpy",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": true
    },
    {
      "name": "Python: FastAPI",
      "type": "debugpy",
      "request": "launch",
      "module": "uvicorn",
      "args": ["main:app", "--reload", "--port", "8000"],
      "console": "integratedTerminal",
      "justMyCode": true
    },
    {
      "name": "Python: pytest",
      "type": "debugpy",
      "request": "launch",
      "module": "pytest",
      "args": ["tests/", "-v"],
      "console": "integratedTerminal",
      "justMyCode": false
    }
  ]
}
ブレークポイントのコツ
行番号左側をクリックして赤丸を置くか、コード内に breakpoint()(Python 3.7+)を書くと デバッガーが自動停止します。breakpoint() は本番環境に残さないよう Ruff の T100 ルールで検出できます。

8. まとめ

カテゴリPlugin / 設定ポイント
必須Python + Pylance + Ruffこの3本が Python 開発の核心。まずここから始める。
仮想環境venv / pyenvプロジェクトごとに .venv を作成し、インタープリターを VSCode で選択。
FormatterRuff(推奨)または Black保存時の自動整形で常にコードスタイルを統一。
DS・MLJupyter + Data Wranglerノートブック操作・DataFrame 可視化を VSCode 内で完結。
品質Error Lensエラーをインライン表示で問題の発見を高速化。
デバッグlaunch.jsonFastAPI・pytest 向け設定を入れておくと毎回設定不要。