VS CodeでPython開発環境を構築しよう!インストールから仮想環境設定まで徹底解説

python

「Pythonを始めたいけど、どうやって環境を整えればいいの?」
「VS Codeを使うと便利って聞くけど、何をインストールすればいいの?」
「仮想環境って何?なぜ必要なの?」

Pythonをこれから始めたい方にとって、最初の環境構築は大きなハードルに感じられることがあります。インターネット上には様々な情報があふれており、どの方法が正しいのか迷ってしまうことも多いでしょう。

でも大丈夫!Visual Studio Code(VS Code)を使えば、軽快で高機能なPython開発環境があっという間に作れます。VS Codeは無料でありながら、プロの開発者も愛用する高機能なエディタです。

この記事では、VS Codeを使ったPython開発環境の構築手順を、プログラミング初心者向けに分かりやすくステップごとに解説します。

スポンサーリンク

Python開発環境構築の全体像

なぜVS Codeがおすすめなのか

Python開発環境として、VS Codeには以下のような優れた特徴があります:

無料で高機能

  • マイクロソフトが開発する無料のエディタ
  • プロの開発者レベルの機能を提供
  • 軽快な動作で快適な開発体験

Python開発に最適

  • 豊富な拡張機能
  • デバッグ機能の充実
  • Jupyter Notebook との統合
  • Git連携機能

学習しやすい

  • 直感的なユーザーインターフェース
  • 豊富なドキュメントとコミュニティ
  • 段階的に高度な機能を習得可能

構築する環境の構成

今回構築するPython開発環境の構成は以下の通りです:

Python開発環境
├── Python本体(インタープリター)
├── VS Code(エディタ)
│   ├── Python拡張機能
│   ├── その他の便利な拡張機能
│   └── 開発効率化設定
└── 仮想環境(venv)
    ├── プロジェクト固有のパッケージ
    └── 依存関係管理

Python本体のインストール

Pythonのダウンロード

公式サイトからのダウンロード

  1. Python公式サイトにアクセス https://www.python.org/
  2. 最新版の確認
    • トップページの「Download Python X.X.X」ボタンをクリック
    • 現在の安定版(Stable Release)を選択
  3. ダウンロードファイルの確認
    • Windows: python-X.X.X-amd64.exe
    • macOS: python-X.X.X-macos11.pkg
    • 自動的にOSに適したファイルが選択される

OS別インストール手順

Windowsでのインストール

  1. インストーラーの実行
    • ダウンロードした.exeファイルをダブルクリック
  2. 重要な設定項目 ☑ Add Python 3.x to PATH ← 必ずチェック! ☑ Install launcher for all users なぜPATHが重要? PATHに追加することで、コマンドプロンプトやPowerShellからpythonコマンドが使えるようになります。これを忘れると、後から手動でPATH設定をする必要があり、初心者には難しい作業となります。
  3. インストールオプションの選択
    • 「Install Now」をクリック(推奨)
    • カスタムインストールは上級者向け

macOSでのインストール

  1. インストーラーの実行
    • ダウンロードした.pkgファイルをダブルクリック
  2. インストール手順
    • 画面の指示に従って進む
    • 管理者パスワードの入力が必要な場合がある
  3. Homebrewを使用する方法(代替) # Homebrewがインストール済みの場合 brew install python

Linuxでのインストール

多くのLinuxディストリビューションには、Python3がプリインストールされています。

Ubuntu/Debianの場合
# パッケージ一覧を更新
sudo apt update

# Python3のインストール確認
python3 --version

# 必要に応じて最新版をインストール
sudo apt install python3 python3-pip python3-venv
CentOS/RHELの場合
# Python3の確認
python3 --version

# 必要に応じてインストール
sudo yum install python3 python3-pip

インストール確認

コマンドラインでの確認

インストールが成功したかを確認します:

Windows
# コマンドプロンプトまたはPowerShellで実行
python --version
python -m pip --version
macOS/Linux
# ターミナルで実行
python3 --version
python3 -m pip --version

期待される出力例:

Python 3.11.5
pip 23.2.1 from ...

トラブルシューティング

「’python’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

この場合の解決方法:

  1. Pythonインストール時にPATHにチェックを入れ忘れた
  2. Python Launcherを使用: py --version
  3. 手動でPAT設定を行う(高度)

VS Codeのインストールと初期設定

VS Codeのダウンロードとインストール

公式サイトからのダウンロード

  1. VS Code公式サイトにアクセス https://code.visualstudio.com/
  2. ダウンロード
    • 自動的にOSに適したファイルが提案される
    • 「Download for Windows/Mac/Linux」をクリック

OS別インストール手順

Windows
1. ダウンロードした .exe ファイルを実行
2. ライセンス同意
3. インストール先の選択(デフォルト推奨)
4. 追加タスクの選択:
   ☑ デスクトップにアイコンを作成する
   ☑ PATHへの追加(重要)
   ☑ サポートされているファイルの種類のエディターとして、Code で開くアクションを追加
5. インストール実行
macOS
1. .dmg ファイルをマウント
2. Visual Studio Code.app を Applications フォルダにドラッグ
3. 初回起動時にセキュリティ確認
Linux(Ubuntu/Debian)
# .deb パッケージの場合
sudo dpkg -i code_*.deb
sudo apt-get install -f  # 依存関係の解決

# または snap を使用
sudo snap install --classic code

VS Codeの初期設定

日本語化(オプション)

  1. 拡張機能タブを開く
    • 左サイドバーの四角いアイコン
    • または Ctrl + Shift + X
  2. Japanese Language Pack をインストール
    • 検索ボックスに「japanese」と入力
    • 「Japanese Language Pack for Visual Studio Code」をインストール
  3. 言語の変更
    • Ctrl + Shift + Pでコマンドパレットを開く
    • 「Configure Display Language」を実行
    • 「ja」を選択して再起動

基本的な設定調整

// settings.json に追加する推奨設定
{
    "editor.fontSize": 14,
    "editor.tabSize": 4,
    "editor.insertSpaces": true,
    "files.autoSave": "afterDelay",
    "files.autoSaveDelay": 1000,
    "editor.minimap.enabled": false,
    "workbench.startupEditor": "newUntitledFile"
}

Python拡張機能のインストールと設定

必須:Python拡張機能

インストール手順

  1. 拡張機能タブを開く
    • 左サイドバーの拡張機能アイコンをクリック
    • または Ctrl + Shift + X
  2. Python拡張機能を検索
    • 検索ボックスに「python」と入力
    • 「Python」(by Microsoft)を選択
  3. インストール実行
    • 「Install」ボタンをクリック
    • 自動的に関連する拡張機能もインストールされる

Python拡張機能に含まれる機能

この拡張機能をインストールすると、以下の機能が利用できます:

コード支援機能
  • インテリセンス: コード補完とヒント表示
  • 構文ハイライト: コードの色分け表示
  • エラー検出: リアルタイムでの構文エラー表示
  • コード整形: PEP8準拠の自動フォーマット
実行・デバッグ機能
  • コード実行: ファイルまたは選択範囲の実行
  • デバッグ: ブレークポイントを使ったステップ実行
  • インタラクティブ実行: Pythonインタープリターとの対話
環境管理機能
  • インタープリター選択: 複数のPython環境の切り替え
  • 仮想環境検出: 自動的な仮想環境の認識
  • パッケージ管理: pip での パッケージインストール支援

追加で便利な拡張機能

Python開発に役立つ拡張機能

1. Python Docstring Generator
   - docstring の自動生成

2. autoDocstring - Python Docstring Generator
   - 関数のドキュメント自動生成

3. Python Test Explorer
   - テストの実行と管理

4. Jupyter
   - Jupyter Notebook の統合

5. GitLens
   - Git履歴の可視化

インストール方法

拡張機能タブで以下を検索してインストール:
- "Python Docstring Generator"
- "Jupyter" 
- "GitLens"

Python環境の認識確認

インタープリターの選択

  1. Pythonファイルを作成
    • 新しいファイルを作成
    • .py 拡張子で保存(例:test.py
  2. インタープリターを選択
    • VS Code下部のステータスバーでPythonバージョンを確認
    • クリックして適切なインタープリターを選択
  3. 確認コードの実行import sys print(f"Python version: {sys.version}") print(f"Python executable: {sys.executable}") 実行方法:
    • Ctrl + F5(デバッグなしで実行)
    • または右上の▷ボタンをクリック

仮想環境(venv)の作成と管理

仮想環境の基本概念

なぜ仮想環境が必要なのか?

仮想環境を使用する主な理由:

パッケージの競合回避
# 例:プロジェクトAとBで異なるバージョンが必要
プロジェクトA: requests==2.25.1
プロジェクトB: requests==2.28.0

# 仮想環境なしだと競合が発生
# 仮想環境ありだと各プロジェクトで独立管理
環境の再現性
  • requirements.txtでパッケージ一覧を管理
  • チームメンバー間での環境統一
  • 本番環境への確実なデプロイ
システムPythonの保護
  • OS標準のPythonに影響を与えない
  • システムの安定性を保持

仮想環境の作成手順

プロジェクトフォルダの準備

# プロジェクト用ディレクトリを作成
mkdir my_python_project
cd my_python_project

# VS Code でプロジェクトを開く
code .

venv による仮想環境作成

Windows
# コマンドプロンプトまたはPowerShell
python -m venv venv

# または仮想環境名を指定
python -m venv my_project_env
macOS/Linux
# ターミナル
python3 -m venv venv

# または仮想環境名を指定
python3 -m venv my_project_env

仮想環境の有効化

Windows
# コマンドプロンプト
venv\Scripts\activate

# PowerShell
venv\Scripts\Activate.ps1

# PowerShell実行ポリシーエラーの場合
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
macOS/Linux
source venv/bin/activate

有効化の確認

仮想環境が有効化されると、以下の変化が確認できます:

# プロンプトの変化
(venv) C:\my_python_project>  # Windows
(venv) user@computer:~/my_python_project$  # Linux/macOS

# Python とpip の場所確認
where python  # Windows
which python  # macOS/Linux

# 確認結果例(仮想環境のパスが表示される)
C:\my_python_project\venv\Scripts\python.exe

VS Codeでの仮想環境設定

自動認識の確認

VS Codeは通常、プロジェクトフォルダ内のvenvフォルダを自動的に検出します。

手動でのインタープリター選択

  1. コマンドパレットを開く
    • Ctrl + Shift + P(Windows/Linux)
    • Cmd + Shift + P(macOS)
  2. インタープリター選択コマンドを実行 Python: Select Interpreter
  3. 仮想環境のPythonを選択 .\venv\Scripts\python.exe (Windows) ./venv/bin/python (macOS/Linux)

設定の確認

正しく設定されていると:

  • VS Code下部のステータスバーに仮想環境名が表示
  • ターミナルでの自動アクティベーション
  • デバッグ実行時に仮想環境のPythonを使用

パッケージ管理

基本的なパッケージ操作

パッケージのインストール
# 仮想環境が有効化された状態で
pip install requests
pip install pandas numpy matplotlib

# バージョン指定インストール
pip install django==3.2.0

# 開発用パッケージのインストール
pip install black flake8 pytest
インストール済みパッケージの確認
pip list
pip show requests  # 特定パッケージの詳細情報

requirements.txtの活用

requirements.txtの作成
# 現在の環境からrequirements.txtを生成
pip freeze > requirements.txt

生成されるrequirements.txtの例:

certifi==2023.7.22
charset-normalizer==3.2.0
idna==3.4
requests==2.31.0
urllib3==2.0.4
requirements.txtからのインストール
# 他の環境での環境再現
pip install -r requirements.txt

仮想環境の無効化

# 仮想環境を終了
deactivate

VS Codeの設定最適化

Python開発に最適な設定

settings.jsonの編集

  1. 設定ファイルを開く
    • Ctrl + Shift + Pでコマンドパレット
    • 「Preferences: Open Settings (JSON)」を実行
  2. Python関連設定の追加 { // Python関連設定 "python.defaultInterpreterPath": "./venv/bin/python", "python.terminal.activateEnvironment": true, // コード整形設定 "editor.formatOnSave": true, "[python]": { "editor.defaultFormatter": "ms-python.python", "editor.tabSize": 4, "editor.insertSpaces": true }, // ファイル保存時の処理 "files.trimTrailingWhitespace": true, "files.insertFinalNewline": true, // Python固有の設定 "python.linting.enabled": true, "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, "python.testing.pytestEnabled": true }

ワークスペース設定の活用

プロジェクト固有の設定は.vscode/settings.jsonに記述:

{
    "python.defaultInterpreterPath": "./venv/bin/python",
    "python.envFile": "${workspaceFolder}/.env",
    "files.associations": {
        "*.py": "python"
    }
}

コード品質向上の設定

リンター(構文チェッカー)の設定

flake8の設定
# 仮想環境内でflake8をインストール
pip install flake8

# プロジェクトルートに .flake8 設定ファイルを作成

.flake8ファイルの例:

[flake8]
max-line-length = 88
exclude = venv, __pycache__, .git
ignore = E203, W503
pylintの代替としてのflake8使用
// settings.json
{
    "python.linting.pylintEnabled": false,
    "python.linting.flake8Enabled": true,
    "python.linting.flake8Args": ["--max-line-length=88"]
}

フォーマッターの設定

blackの導入
# blackをインストール
pip install black

# 使用方法
black my_script.py  # ファイル指定
black .             # カレントディレクトリ以下すべて
VS Codeでのblack設定
{
    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter",
        "editor.formatOnSave": true
    }
}

デバッグ設定

launch.jsonの作成

.vscode/launch.jsonファイルでデバッグ設定をカスタマイズ:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 現在のファイル",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "env": {
                "PYTHONPATH": "${workspaceFolder}"
            }
        },
        {
            "name": "Python: モジュール実行",
            "type": "python",
            "request": "launch",
            "module": "my_module",
            "console": "integratedTerminal"
        }
    ]
}

デバッグの基本操作

F5          : デバッグ開始
Ctrl+F5     : デバッグなしで実行
F9          : ブレークポイントの設定/解除
F10         : ステップオーバー
F11         : ステップイン
Shift+F11   : ステップアウト

Jupyter Notebookの統合

Jupyter拡張機能のインストール

1. 拡張機能タブで「Jupyter」を検索
2. 「Jupyter」(by Microsoft)をインストール
3. 自動的に関連拡張機能もインストールされる

.ipynbファイルの作成と使用

新しいJupyter Notebookの作成

1. Ctrl + Shift + P でコマンドパレット
2. "Jupyter: Create New Jupyter Notebook" を実行
3. または .ipynb ファイルを作成

セルの操作

Shift + Enter : セルを実行して次のセルに移動
Ctrl + Enter  : セルを実行して同じセルにとどまる
A            : 上にセルを追加
B            : 下にセルを追加
DD           : セルを削除

マークダウンセルの活用

# これは見出し

## データ分析の手順

1. データの読み込み
2. データのクリーニング
3. 可視化

```python
import pandas as pd
df = pd.read_csv('data.csv')

コードとドキュメントを一つのファイルで管理できるのがJupyterの利点です。


## 実践的な動作確認

### サンプルプロジェクトの作成

#### プロジェクト構造の準備

my_python_project/ ├── venv/ # 仮想環境 ├── src/ # ソースコード │ ├── init.py │ └── main.py ├── tests/ # テストコード │ ├── init.py │ └── test_main.py ├── requirements.txt # 依存パッケージ ├── .gitignore # Git除外設定 └── README.md # プロジェクト説明


#### サンプルコードの作成

##### src/main.py
```python
"""
サンプルPythonアプリケーション
"""

import requests
from typing import Dict, Any


def fetch_user_data(user_id: int) -> Dict[str, Any]:
    """
    JSONPlaceholder APIからユーザー情報を取得
    
    Args:
        user_id (int): ユーザーID
        
    Returns:
        Dict[str, Any]: ユーザー情報
    """
    url = f"https://jsonplaceholder.typicode.com/users/{user_id}"
    
    try:
        response = requests.get(url)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"API呼び出しエラー: {e}")
        return {}


def main():
    """メイン処理"""
    print("=== ユーザー情報取得アプリ ===")
    
    user_id = 1
    user_data = fetch_user_data(user_id)
    
    if user_data:
        print(f"ユーザー名: {user_data.get('name', 'N/A')}")
        print(f"メール: {user_data.get('email', 'N/A')}")
        print(f"会社: {user_data.get('company', {}).get('name', 'N/A')}")
    else:
        print("ユーザー情報を取得できませんでした")


if __name__ == "__main__":
    main()
tests/test_main.py
"""
main.py のテストコード
"""

import pytest
from unittest.mock import patch, MagicMock
from src.main import fetch_user_data


def test_fetch_user_data_success():
    """ユーザーデータ取得成功のテスト"""
    # モックレスポンスの準備
    mock_response = MagicMock()
    mock_response.json.return_value = {
        "id": 1,
        "name": "Test User",
        "email": "test@example.com"
    }
    mock_response.raise_for_status.return_value = None
    
    # requestsライブラリをモック化
    with patch('src.main.requests.get', return_value=mock_response):
        result = fetch_user_data(1)
        
        assert result["name"] == "Test User"
        assert result["email"] == "test@example.com"


def test_fetch_user_data_error():
    """API呼び出しエラーのテスト"""
    with patch('src.main.requests.get') as mock_get:
        mock_get.side_effect = Exception("Network error")
        
        result = fetch_user_data(1)
        assert result == {}
requirements.txt
requests==2.31.0
pytest==7.4.0
.gitignore
# Python関連
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
env/
pip-log.txt
pip-delete-this-directory.txt
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.log
.git
.mypy_cache
.pytest_cache
.hypothesis

# 仮想環境
venv/
.venv/
ENV/
env/

# IDE関連
.vscode/settings.json
.idea/

# OS関連
.DS_Store
Thumbs.db

動作確認手順

1. パッケージのインストール

# 仮想環境を有効化
source venv/bin/activate  # macOS/Linux
# または
venv\Scripts\activate     # Windows

# 依存パッケージをインストール
pip install -r requirements.txt

2. コードの実行

# メインプログラムの実行
python src/main.py

# または VS Code で F5 キーを押してデバッグ実行

3. テストの実行

# pytestでテスト実行
pytest tests/

# 詳細な出力でテスト実行
pytest tests/ -v

# カバレッジ付きでテスト実行
pytest tests/ --cov=src

4. コード品質チェック

# flake8による構文チェック
flake8 src/

# blackによるコードフォーマット
black src/ tests/

# mypyによる型チェック(オプション)
mypy src/

トラブルシューティング

よくある問題と解決方法

Python関連の問題

「python is not recognized」エラー

症状: コマンドラインでpythonコマンドが認識されない

解決方法:

  1. PATHの確認 # Windows where python echo %PATH%
  2. Python Launcherの使用 # Windowsの場合 py --version py -m pip --version
  3. 再インストール
    • PythonをアンインストールしてPATH追加オプション付きで再インストール
仮想環境の問題

症状: 仮想環境が作成できない、または有効化できない

解決方法:

# Python標準のvenvモジュール確認
python -m venv --help

# 権限問題の解決(Windows PowerShell)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# 仮想環境の再作成
rm -rf venv  # または rmdir /s venv (Windows)
python -m venv venv

VS Code関連の問題

Python拡張機能が動作しない

症状: コード補完やエラー表示が機能しない

解決方法:

  1. 拡張機能の確認 拡張機能タブで「Python」が有効化されているか確認 無効になっている場合は「有効」をクリック
  2. インタープリターの再選択 Ctrl + Shift + P → "Python: Select Interpreter" 正しい仮想環境のPythonを選択
  3. VS Codeの再起動 VS Codeを完全に終了して再起動 または "Developer: Reload Window" を実行
  4. 拡張機能の再インストール Python拡張機能をアンインストール → 再インストール
インテリセンスが効かない

症状: コード補完候補が表示されない

解決方法:

// settings.json に追加
{
    "python.analysis.autoImportCompletions": true,
    "python.analysis.autoSearchPaths": true,
    "python.analysis.extraPaths": ["./src"]
}
デバッグが機能しない

症状: ブレークポイントで停止しない

解決方法:

  1. launch.json の確認 { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": false } ] }
  2. ブレークポイントの設定確認
    • ソースコードの行番号左をクリック
    • 赤い点が表示されることを確認

パッケージ管理の問題

pip install が失敗する

症状: パッケージのインストールでエラーが発生

解決方法:

# pip を最新版にアップグレード
python -m pip install --upgrade pip

# キャッシュをクリア
pip cache purge

# プロキシ環境の場合
pip install --proxy http://proxy.company.com:8080 package_name

# SSL証明書エラーの場合(非推奨、セキュリティリスクあり)
pip install --trusted-host pypi.org --trusted-host pypi.python.org package_name
requirements.txt からインストール失敗

症状: 一部のパッケージでインストールエラー

解決方法:

# 依存関係を無視してインストール
pip install --no-deps -r requirements.txt

# 一つずつインストールして問題を特定
pip install package_name==version

# バージョン競合の解決
pip install --upgrade --force-reinstall package_name

パフォーマンス最適化

VS Codeの動作が重い場合

拡張機能の整理
不要な拡張機能を無効化:
1. 拡張機能タブを開く
2. 使用していない拡張機能を右クリック
3. 「無効」を選択
ファイル監視の最適化
// settings.json
{
    "files.watcherExclude": {
        "**/venv/**": true,
        "**/__pycache__/**": true,
        "**/node_modules/**": true,
        "**/.git/**": true
    },
    "search.exclude": {
        "**/venv": true,
        "**/__pycache__": true,
        "**/node_modules": true
    }
}
Python分析の調整
// settings.json
{
    "python.analysis.memory.keepLibraryAst": false,
    "python.analysis.autoSearchPaths": false,
    "python.analysis.diagnosticMode": "openFilesOnly"
}

まとめ

VS CodeによるPython開発環境の構築は、以下の手順で確実に実現できます:

構築手順のおさらい

  1. Python本体のインストール
    • 公式サイトからダウンロード
    • PATHへの追加を忘れずに
    • インストール後のバージョン確認
  2. VS Codeの準備
    • 本体のインストール
    • Python拡張機能の導入
    • 基本設定の調整
  3. 仮想環境の構築
    • プロジェクトごとのvenv作成
    • VS Codeでのインタープリター選択
    • パッケージ管理の実践
  4. 開発環境の最適化
    • コード品質ツールの導入
    • デバッグ設定のカスタマイズ
    • 効率化設定の適用

開発環境のメリット

この環境を構築することで、以下のような利点が得られます:

開発効率の向上

  • コード補完: 入力支援による高速なコーディング
  • エラー検出: リアルタイムでの問題発見
  • デバッグ機能: 効率的な問題解決

コード品質の向上

  • 自動フォーマット: 一貫したコードスタイル
  • リンター: 構文エラーの早期発見
  • テスト統合: 品質保証の自動化

チーム開発への対応

  • 環境の再現性: requirements.txtによる環境統一
  • バージョン管理: Gitとの seamless な連携
  • 設定の共有: プロジェクト設定の標準化

コメント

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