はじめに
「Pythonの仮想環境の作り方がいつも混乱する」
「requirements.txtとpyproject.tomlの違いがわからない」
「型ヒントを追加したいけど書き方がわからない」
PythonはAI・データサイエンス・Web開発など幅広い用途で使われますが、環境構築やパッケージ管理の複雑さに悩む方は多いです。Claude Codeを使えば、仮想環境の構築からパッケージ管理・コード品質向上まで、Python開発の煩雑な作業を大幅に効率化できます。
目次
- Claude CodeとPython開発の相性
- 仮想環境の構築・管理
- パッケージ管理の自動化
- 型ヒントの追加・改善
- コード品質ツールの設定
- テストの自動生成
- よく使うPython開発パターン集
- まとめ
1. Claude CodeとPython開発の相性
Pythonプロジェクトを自動認識する
Claude Codeはプロジェクトに含まれる requirements.txt・pyproject.toml・setup.py・Pipfile などを読み込んで、Pythonプロジェクトであることを自動認識します。
Pythonのバージョン・使用しているフレームワーク(Django・FastAPI・Flask)・テストフレームワーク(pytest・unittest)も把握した上で作業します。
特に効果が高い作業
| 作業 | 効果 | 理由 |
|---|---|---|
| 仮想環境の構築 | 高 | コマンドを覚える必要がない |
| 型ヒントの追加 | 非常に高 | 機械的な作業を一括自動化 |
| docstringの追加 | 高 | コードを読んで自動生成 |
| テスト生成 | 高 | pytest形式で網羅的に生成 |
| リファクタリング | 高 | Pythonicな書き方に自動変換 |
2. 仮想環境の構築・管理
venvを使った仮想環境の作成
> このプロジェクト用のPython仮想環境を作成して、
必要なパッケージをインストールしてください。
Pythonのバージョンは3.12を使ってください。
Claude Codeが以下を実行します。
python3.12 -m venv .venv
source .venv/bin/activate # Mac/Linux
# または .venv\Scripts\activate # Windows
pip install --upgrade pip
pip install -r requirements.txt
uv(高速パッケージマネージャー)への移行
> このプロジェクトのパッケージ管理をpipからuvに移行してください。
uvのインストールから設定まで一括で行ってください。
2026年現在、uvはpipの10〜100倍高速なパッケージマネージャーとして広く採用されています。Claude Codeが移行手順を自律的に実行します。
condaとの使い分け
> このデータサイエンスプロジェクトにcondaの環境を作成してください。
NumPy・Pandas・scikit-learn・Jupyterが使える環境にしてください。
environment.ymlファイルも作成してください。
3. パッケージ管理の自動化
pyproject.tomlの生成
> このプロジェクトのpyproject.tomlを作成してください。
setup.pyから移行する形で、モダンなPythonプロジェクト構成にしてください。
含める設定:
- プロジェクトのメタデータ
- 依存関係(通常依存・開発依存)
- Ruffによるlint設定
- mypyによる型チェック設定
- pytestの設定
依存関係の整理
> requirements.txtを分析して、以下を確認してください:
- 実際に使われているが記載されていないパッケージ
- 記載されているが実際には使われていないパッケージ
- バージョン指定が古すぎるパッケージ
- セキュリティ脆弱性が報告されているパッケージ
整理後のrequirements.txtとrequirements-dev.txtを生成してください。
依存関係の自動更新
> pip-auditを使って依存関係の脆弱性をスキャンして、
問題があれば安全なバージョンに更新してください。
テストを実行して更新後も動作することを確認してください。
4. 型ヒントの追加・改善
既存コードへの型ヒント一括追加
> src/以下のPythonファイルに型ヒントを追加してください。
方針:
- すべての関数の引数と戻り値に型ヒントを追加
- Optionalの代わりに X | None 形式を使う(Python 3.10+)
- TypedDictを使って辞書型を明確化
- mypyで型エラーがゼロになるまで修正
変更後にmypy --strict src/ を実行して確認してください。
dataclassとPydanticの活用
> このコードで辞書として扱っているデータ構造を
Pydanticのモデルに変換してください。
メリット:
- バリデーションが自動化される
- 型ヒントが明確になる
- JSONのシリアライズ/デシリアライズが簡単になる
[対象のコードを貼り付け]
5. コード品質ツールの設定
Ruff(高速Linter/Formatter)の設定
> このプロジェクトにRuffを導入してください。
設定内容:
- pyproject.tomlにRuffの設定を追加
- pre-commitフックを設定(コミット前に自動チェック)
- GitHub Actionsに組み込む
- 既存コードをRuffで整形する
Ruffのルールは isort・flake8・pylint 相当を有効にしてください。
mypyの設定
> mypyをプロジェクトに導入して、厳格な型チェックを設定してください。
設定:
- mypy.iniまたはpyproject.tomlに設定を追加
- --strictモードを段階的に有効化する計画を立てる
- CIに組み込む
- 現在の型エラーを確認して優先度の高いものから修正する
pre-commitの設定
> pre-commitを設定して、コミット前に以下を自動チェックしてください:
- Ruffによるlint・format
- mypyによる型チェック
- pytestによるテスト実行(高速なもののみ)
- シークレットの混入チェック
6. テストの自動生成
pytest形式のテスト生成
> src/services/user_service.pyのpytestテストを作成してください。
要件:
- fixtureを使ってテストデータを管理
- データベースアクセスはモック化
- 正常系・異常系・境界値をカバー
- parametrizeを使って複数のケースを効率的にテスト
- tests/services/test_user_service.pyとして保存
カバレッジレポートの生成
> pytest --covを実行してカバレッジレポートを確認してください。
カバレッジが60%以下のファイルをリストアップして、
優先度の高いファイルからテストを追加してください。
7. よく使うPython開発パターン集
パターン① asyncioを使った非同期処理の実装
> このsync関数をasyncioを使った非同期処理に変換してください。
aiohttp・aiomysqlなど適切な非同期ライブラリを使ってください。
既存のテストも非同期対応に更新してください。
パターン② ログの整備
> このプロジェクトのログ設定を整備してください。
要件:
- structlogを使った構造化ログ
- 環境(開発・本番)に応じたログレベル設定
- リクエストIDのトレーシング
- エラー時のスタックトレース記録
- sensitive情報のマスキング
パターン③ 環境変数管理
> pydantic-settingsを使って環境変数の管理を整備してください。
要件:
- .envファイルからの読み込み
- 必須環境変数の検証
- 型変換(文字列→int・bool等)
- .env.exampleファイルの自動生成
パターン④ Pythonicなリファクタリング
> このコードをよりPythonicな書き方に変換してください。
改善ポイント:
- forループ → リスト内包表記
- if-elif チェーン → 辞書マッピング
- クラスを使っているが関数で十分な箇所
- enumerate・zip・any・allの活用
8. まとめ
Claude CodeでのPython開発効率化の主なポイント:
- 仮想環境の構築・管理をコマンドを覚えずに実行できる
- 型ヒントの一括追加で型安全なコードに移行できる
- Ruff・mypy・pre-commitの設定を自動化できる
- pytest形式のテストをコードから自動生成できる
特におすすめの活用シーン:
- 古いPythonプロジェクトのモダン化(型ヒント・pyproject.toml・Ruff)
- データサイエンスプロジェクトの環境構築(conda・Jupyter)
- FastAPI・DjangoプロジェクトへのCI/CD導入
次回の第22回:APIを設計・実装する方法では、REST APIをゼロから構築する実践ガイドを解説します。
よくある質問(FAQ)
Q. pip・poetry・uvのどれを使えばいいですか?
A. 2026年現在、新規プロジェクトではuvの採用が増えています。速度と使いやすさのバランスが優れています。Claude Codeに「このプロジェクトに最適なパッケージマネージャーを選んで設定してください」と依頼すると、プロジェクトの状況に合わせて提案してくれます。
Q. Python 2のコードをPython 3に移行したい場合は?
A. Claude Codeに「Python 2のコードをPython 3.12に移行してください」と指示するだけで対応できます。2to3ツールの実行から手動対応が必要な箇所の特定まで自律的に進めます。
この記事はClaude Code入門シリーズ(第3部)の第21回です。← 第20回:チーム活用 | 第22回:API設計・実装 →
ご質問はお問い合わせページからお気軽にどうぞ。