2. 開発環境の準備(LLMと一緒に)

2.1. この章で学ぶこと

  • Python 3.13+, Git, Cursorのインストール

  • Cursorのセットアップ

  • LLMとの壁打ち: 環境構築の相談

  • ターミナル/コマンドラインの基礎

  • Gitの基本操作

  • つまずきポイント集


2.2. イントロダクション

プログラミング学習で最初の、そして最大の壁が「環境構築」です。

多くの初心者が、コードを一行も書く前に挫折してしまいます。 「PATHって何?」 「permission deniedって何?」 「pythonコマンドが見つからない?」…… こうした謎のエラーメッセージに遭遇し、Google検索を繰り返し、数時間後には疲れ果てて諦めてしまう。

でも、安心してください。本章では、実際によくあるつまずきポイントを先に教えます。 そして、LLMを使ってその場で解決する方法も学びます。

環境構築は、レシピ通りに料理を作るようなものです。 手順を一つずつ、確実にこなせば必ず成功します。

Tip

この章で準備するもの

  • インターネット接続

  • 1-2時間の時間

  • コーヒーまたはお茶(リラックスして取り組みましょう)

  • 「エラーは学習のチャンス」というマインド

焦らず、一つずつ進めましょう。


2.3. 必要なツールの概要

本書で使用するツールは、基本的に無料です。 ただし、Cursorについては本格的に使う場合、有料プラン($20/月、2025年12月現在)の利用を推奨します。

2.3.1. 必須ツール

ツール

用途

Windows

macOS

Python 3.13+

プログラミング言語

Git

バージョン管理

Cursor

コードエディタ + AI統合

ターミナル

コマンド実行

※ 以降の説明で、各種コマンド、アプリのバージョンは2025年12月時点の物です。随時更新されるので違うバージョンでも基本的には同じです。

2.3.2. なぜこれらのツール?

Python:

  • 初心者に優しい文法

  • Djangoが動く

  • 豊富なライブラリ

Git:

  • コードのバージョン管理

  • GitHub連携(サンプルコード取得)

Cursor:

  • AI統合型のコードエディタ

  • LLMとの対話が簡単

  • VS Codeベースで使いやすい

  • 基本機能は無料だが、本格的に使うには有料プラン($20/月、2025年12月現在)が推奨される

ターミナル:

  • コマンドを実行するための窓口

  • 最初は怖く見えるが、慣れれば便利


2.4. OS別の準備

本書の方針:詳細な手順の省略について

インストール手順の細部については、OSのバージョンや環境によって異なるため、LLMに質問した方が最新の情報とあなたの環境に合わせた回答が得られます。本書では、つまずきやすいポイントに焦点を当て、詳細な手順は公式ドキュメントまたはLLMに質問することを推奨しています。

2.4.1. Windowsの場合

2.4.1.1. Python 3.13のインストール

公式サイト: https://www.python.org/downloads/

重要ポイント:

  • [√] 必ず「Add Python to PATH」にチェックを入れる

  • これを忘れると「pythonコマンドが見つからない」エラーが出ます

エラーが出た場合のLLMへの質問例:

【環境情報】
OS: Windows 11
実行したコマンド: python --version

【エラーメッセージ】
'python' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。

【質問】
PATHが通っていないようです。解決方法を教えてください。

詳細な手順は公式ドキュメントまたはLLMに質問してください。

2.4.1.2. Gitのインストール

公式サイト: https://git-scm.com/download/win

重要ポイント:

  • インストール設定はデフォルトのままで問題ありません

  • インストール後は、PowerShellを再起動してください

エラーが出た場合のLLMへの質問例:

【環境情報】
OS: Windows 11
実行したコマンド: git --version

【エラーメッセージ】
'git' は、内部コマンドまたは外部コマンド……として認識されていません。

【質問】
Gitをインストールしましたが、コマンドが見つかりません。解決方法を教えてください。

詳細な手順は公式ドキュメントまたはLLMに質問してください。

2.4.1.3. Cursorのインストール

公式サイト: https://cursor.com/

重要ポイント:

  • Windows版は公式サイトからダウンロードしてインストール

  • インストール後、起動してセットアップウィザードを完了

詳細なセットアップ手順は2.6節を参照してください。

2.4.1.4. インストールの確認

PowerShellを開いて、以下のコマンドで確認してください:

python --version
git --version

正常にインストールされていれば、それぞれバージョン番号が表示されます。

2.4.2. macOSの場合

2.4.2.1. Homebrewのインストール(パッケージマネージャー)

公式サイト: https://brew.sh/

インストールコマンド:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

重要ポイント(M1/M2 Macの場合):

  • インストール完了後、表示される2つのコマンドを実行してください

  • 新しいターミナルを開いてから確認してください

Tip

ここは多くの人がつまずくポイントです

Homebrewのインストールは、表示されるメッセージも多く、初心者には分かりにくい部分です。 うまくいかない場合は、そのままターミナルのメッセージをコピーして、 LLMに貼り付けて質問してください(2.10節の質問テンプレートを参考に)。

エラーが出た場合のLLMへの質問例:

【環境情報】
OS: macOS 14.2 (M1 Mac)
実行したコマンド: brew --version

【エラーメッセージ】
command not found: brew

【質問】
Homebrewをインストールしましたが、コマンドが見つかりません。解決方法を教えてください。

詳細な手順は公式ドキュメントまたはLLMに質問してください。

2.4.2.2. Python 3.13のインストール

Homebrewがインストールできたら、以下のコマンドでPythonをインストールします:

brew install [email protected]

インストール確認:

python3 --version

正常にインストールされていれば、Python 3.13.x と表示されます。

エラーが出た場合のLLMへの質問例:

【環境情報】
OS: macOS 14.2
実行したコマンド: python3 --version

【エラーメッセージ】
command not found: python3

【質問】
HomebrewでPythonをインストールしましたが、コマンドが見つかりません。解決方法を教えてください。

2.4.2.3. Gitのインストール

macOSにはGitが標準でインストールされていますが、最新版を使う場合は以下のコマンドでインストールします:

brew install git

インストール確認:

git --version

正常にインストールされていれば、git version 2.43.x と表示されます。

2.4.2.4. Cursorのインストール

方法1: Homebrewでインストール(推奨)

brew install --cask cursor

方法2: 公式サイトからダウンロード

公式サイトからダウンロードして、Applicationsフォルダにドラッグ&ドロップ

詳細なセットアップ手順は2.6節を参照してください。

2.5. インストール完了の確認

Python、Gitのインストールが完了したら、次にCursorのセットアップ(2.6節)に進みましょう。


2.6. Cursor のセットアップ

Cursor は、AI 統合型のコードエディタです。VS Code ベースで、LLM との対話が簡単にできるのが特徴です。

2.6.1. Cursor とは?

Cursor は、AI 機能を統合したコードエディタです。以下の特徴があります:

  • AI 統合: コード生成、質問応答、エラー解決などを AI がサポート

  • VS Code ベース: VS Code と同じ操作性で、拡張機能も使える

  • ローカル環境: コードはローカルに保存される(AI 処理はクラウド側のモデルを利用)

  • 無料プランあり: 基本機能は無料、本格的に使うには有料プラン($20/月、2025 年 12 月現在)が推奨

2.6.2. インストール

公式サイト: https://cursor.com/

2.6.2.1. Windows の場合

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

  2. インストーラーを実行(デフォルト設定で OK)

  3. 起動してセットアップウィザードを完了

2.6.2.2. macOS の場合

方法 1: Homebrew でインストール(推奨)

brew install --cask cursor

方法 2: 公式サイトからダウンロード

公式サイトからダウンロードして、Applications フォルダにドラッグ&ドロップ

詳細な手順は公式ドキュメントまたは LLM に質問してください。

2.6.3. 初回セットアップ

Cursor を初めて起動すると、セットアップウィザードが表示されます。

重要な設定:

  1. キーボードショートカット: 「VS Code」を選択(推奨)

  2. テーマ: お好みで選択(後で変更可能)

  3. ターミナル: デフォルトのままで OK

2.6.4. AI との連携

2.6.4.1. Chat 機能の使い方

  1. Chat パネルを開く

    • 右側のパネルに「Chat」タブがある

    • または、Ctrl+L(Windows)/ ⌘+L(macOS)で開く

  2. 質問してみる

    あなた: Python "Hello, World!"を表示するコードを書いてください
    
    Cursor: 以下のコードを使ってください:
    
    print("Hello, World!")
    

2.6.4.2. インライン編集(Cmd/Ctrl + K)

コードを選択して、Cmd+K(macOS)または Ctrl+K(Windows)を押すと、選択したコードに対して AI が提案をします。

2.6.4.3. エラー解決

エラーが出た場合、エラーメッセージを AI に貼り付けて解決策を聞くことができます。

あなた: 以下のエラーが出ました。どうすれば解決できますか?

[エラーメッセージを貼り付け]

Cursor: [解決策を提示]

2.6.5. コードベースのインデックス化

プロジェクトフォルダを開くと、Cursor が自動的にコードの内容を学習し始めます。これを「インデックス化」と呼びます。

インデックス化とは?

  • Cursor がコードの内容を理解して、AI の提案を正確にするための仕組み

  • プロジェクトの規模に応じて約 1〜15 分かかる

  • Cursor がコードを学習するほど、提案は賢くなる

進行状況の確認:

設定(Ctrl+Shift+J / ⌘+Shift+J)→「Indexing & Docs」で確認できます。

Tip

インデックス化が完了するまで

インデックス化が完了するまでは、AI 機能が完全に動作しない場合があります。 進行状況インジケーターが 100%になるまで待ってから、AI 機能を使い始めましょう。

2.6.6. よくある質問

2.6.6.1. Q: Cursor は無料で使えますか?

A: はい、基本機能は無料で使えます。ただし、本格的に使うには有料プラン($20/月、2025 年 12 月現在)が推奨されます。

2.6.6.2. Q: VS Code の拡張機能は使えますか?

A: はい、VS Code の拡張機能のほとんどが Cursor でも使えます。

2.6.6.3. Q: オフラインで使えますか?

A: 基本的なエディタ機能はオフラインで使えますが、AI 機能はインターネット接続が必要です。

2.6.7. 参考リンク

より詳しい情報は、以下の公式ドキュメントを参照してください:

Tip

Cursor の利点

  • [√] AI 統合でコード生成が簡単

  • [√] VS Code ベースで使いやすい

  • [√] ローカル環境で動作

  • [√] 拡張機能が豊富

  • [√] コードベースのインデックス化で、プロジェクト全体を理解

使い方のコツ

  • コードを選択してCmd/Ctrl + Kで AI に質問

  • Chat パネル(Cmd/Ctrl + L)で対話的にコードを生成

  • エラーが出たら、エラーメッセージをAIに貼り付けて解決策を聞く

  • インデックス化が完了するまで待ってから、AI機能を使い始める


2.7. ターミナルの基本

ターミナル(コマンドライン)は、マウスではなく文字でコンピュータに指示を出すツールです。

なぜターミナルを使うの?

  • プログラミングに必須: 多くの開発ツールはターミナルから使う

  • 効率的: マウスでクリックするより、コマンドを入力する方が速い

  • 自動化: 複数の操作を一度に実行できる

2.7.1. ターミナルの開き方

2.7.1.1. Windowsの場合

方法1: Windowsキー + Rを使う(推奨)

  1. キーボードの「Windowsキー」と「R」を同時に押す

  2. powershell と入力してEnterキーを押す

方法2: スタートメニューから検索

  1. スタートボタンをクリック

  2. 「powershell」と入力

  3. 「Windows PowerShell」をクリック

2.7.1.2. macOSの場合

方法1: Spotlight検索を使う(推奨)

  1. キーボードの「⌘(Command)」キーと「Space(スペース)」キーを同時に押す

  2. 「ターミナル」または「terminal」と入力

  3. Enterキーを押す

方法2: Finderから開く

  1. Finderを開く

  2. 「アプリケーション」→「ユーティリティ」フォルダを開く

  3. 「ターミナル」をダブルクリック

プロンプトとは?

ターミナルで「コマンドを入力してください」と待っている状態の記号です。

  • Windows: PS C:\Users\YourName>

  • macOS: user@MacBook-Pro ~ %

この記号の後にコマンドを入力してEnterキーを押すと実行されます。

2.7.2. 本書で使用する最小限のコマンド

コマンド

意味

pwd

現在地を表示

pwd

ls

ファイル一覧

ls

cd

ディレクトリ移動

cd myproject

mkdir

フォルダ作成

mkdir myproject

Windowsの場合:

PowerShellでは ls の代わりに dir も使えます。

わからないコマンドがあったらLLMに質問:

cdコマンドの使い方を初心者向けに説明してください

詳細な説明は付録A「ターミナルコマンド完全ガイド」を参照

2.7.3. よくあるユースケース

2.7.3.1. ユースケース1: プロジェクトフォルダを作成して移動する

シナリオ: 新しいプロジェクトを始めたい

# 1. 現在の場所を確認
pwd
# 出力例: /Users/YourName

# 2. プロジェクトフォルダを作成
mkdir adventure-game

# 3. 作成したフォルダに移動
cd adventure-game

# 4. 移動できたか確認
pwd
# 出力例(macOS): /Users/YourName/adventure-game
# 出力例(Windows): C:\Users\YourName\adventure-game

2.7.3.2. ユースケース2: ファイルの存在を確認する

シナリオ: ファイルが存在するか確認したい

# 1. 現在のディレクトリの内容を確認
ls
# 出力例: README.md  main.py  requirements.txt

# 2. 特定のファイルがあるか確認
# macOS/Linuxの場合
ls | grep README
# 出力例: README.md

# Windowsの場合(PowerShell)
ls | Select-String README
# 出力例: README.md

2.7.3.3. ユースケース3: 現在の場所がわからなくなった時

シナリオ: どこにいるかわからなくなった

# 現在の場所を確認
pwd
# 出力例(macOS): /Users/YourName/Documents/projects/adventure-game
# 出力例(Windows): C:\Users\YourName\Documents\projects\adventure-game

# ファイル一覧を確認して、どこにいるか推測
ls
# 出力例: manage.py  settings.py  urls.py
# → Djangoプロジェクトのディレクトリにいることがわかる

2.7.3.4. ユースケース4: プロジェクトの構造を確認する

シナリオ: プロジェクトのフォルダ構造を把握したい

# 1. 現在のディレクトリの内容を確認
ls
# 出力例: adventure_game  manage.py  requirements.txt

# 2. サブディレクトリの中身も確認したい場合
cd adventure_game
ls
# 出力例: views.py  urls.py  models.py

2.7.3.5. ユースケース5: 間違えた場所に移動してしまった時

シナリオ: 間違えたディレクトリに移動してしまった

# 1. 現在の場所を確認
pwd
# 出力例(macOS): /Users/YourName/Documents/wrong-folder
# 出力例(Windows): C:\Users\YourName\Documents\wrong-folder

# 2. 一つ上のディレクトリに戻る
cd ..

# 3. 正しい場所に移動
cd adventure-game

2.7.3.6. ユースケース6: ホームディレクトリに戻る

シナリオ: どこにいてもホームディレクトリに戻りたい

# ホームディレクトリに移動
cd ~

# または(macOS/Linux)
cd

# 確認
pwd
# 出力例: /Users/YourName(macOS)または C:\Users\YourName(Windows)

2.7.4. エラーが出た場合のLLMへの質問例

シナリオ: cd projectを実行したら「no such file or directory」と表示された

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: cd project

【エラーメッセージ】
cd: no such file or directory: project

【試したこと】
- pwdで現在の場所を確認した
- lsでファイル一覧を確認した

【質問】
「project」というフォルダに移動しようとしましたが、エラーが出ました。
どうすれば確認できますか?

Tip

わからないことがあったらLLMに聞こう

ターミナルでわからないことがあったら、すぐにLLM(CursorのChat機能など)に質問してください。 エラーメッセージをそのまま貼り付けるだけで、解決策を教えてくれます。


2.8. Gitの基本

2.8.1. Gitとは?

Gitは、コードのバージョン管理システムです。簡単に言うと、「コードの変更履歴を記録して、いつでも過去の状態に戻せるシステム」です。

なぜGitが必要なの?

例1: 間違えてコードを削除してしまった

あなた: 昨日動いていたコードが、今日動かなくなりました。
昨日のコードに戻したいです。

→ Gitがあれば、過去のバックアップから簡単に復元できます!

例2: 実験的な機能を試したい

あなた: 新しい機能を試したいけど、今のコードを壊したくありません。

→ Gitがあれば、バックアップを取ってから安全に実験できます!

例3: 複数人で協力して開発する

あなた: 友達と一緒にプロジェクトを作っています。
お互いの変更をどうやって共有すればいいですか?

→ Gitがあれば、変更を安全に共有できます!

Gitを使うとできること:

  • [√] バックアップ: コードの状態を保存できる(git commit

  • [√] リストア: 過去の状態に戻せる(git checkout

  • [√] 変更履歴: いつ、何を変更したかがわかる

  • [√] 安全な実験: 失敗しても元に戻せる

  • [√] 共有: 他の人とコードを共有できる

Tip

わからないことがあったらLLMに聞こう

Gitでわからないことがあったら、すぐにLLM(CursorのChat機能など)に質問してください。 エラーメッセージをそのまま貼り付けるだけで、解決策を教えてくれます。

2.8.2. Gitをバックアップシステムとして理解する

誤解を恐れずにいうと、Gitはコードのバックアップシステムとして考えると理解しやすくなります。

日常的なバックアップの例:

あなた: 重要な書類をパソコンに保存しています。
もし間違えて削除してしまったら、どうすればいいですか?

→ 定期的にバックアップを取っておけば、いつでも復元できます!

Gitも同じです。コードを書いたら、定期的にバックアップ(git commit)を取ります。もし間違えて削除したり、壊してしまったら、バックアップから復元(git checkout)できます。

Gitの基本操作:

操作

意味

例え話

git add

ステージング(バックアップするものを選ぶ)

写真を撮る前に、何を写すか選ぶ

git commit

バックアップを取る

今の状態を写真に撮る

git checkout

リストア(復元)

過去の写真の状態に戻る

git log

バックアップ一覧を見る

過去に撮った写真のリストを見る

2.8.3. Gitの初期設定

初めてGitを使う場合、ユーザー情報を登録する必要があります。 これは、バックアップの履歴に「誰が保存したか」を記録するためです。

# 名前を設定
git config --global user.name "Your Name"

# メールアドレスを設定
git config --global user.email "[email protected]"

設定を確認:

git config --list

警告

メールアドレスについて

  • GitHubを使う場合、GitHubに登録したメールアドレスを使うことを推奨します

  • 公開リポジトリの場合、メールアドレスが公開される可能性があります

  • プライベートなメールアドレスを使いたい場合は、GitHubの設定で非公開にできます

2.8.4. 本書で使用する最小限のコマンド

コマンド

意味

git init

リポジトリを初期化

git init

git add .

変更をステージング

git add .

git commit -m ""

バックアップを取る

git commit -m "初期バックアップ"

git log

バックアップ一覧を見る

git log

わからないコマンドがあったらLLMに質問:

git commitコマンドの使い方を初心者向けに説明してください

詳細な説明はLLMに質問してください。

2.8.5. バックアップの流れ

1. リポジトリを初期化(最初の1回だけ)

git init

2. 変更をステージング

git add .

ステージングとは?

ステージングは、バックアップを取る前に「何をバックアップするか」を選ぶ作業です。

なぜステージングが必要なのか?

写真を撮る前に、何を写すか選びますよね?Gitも同じです。すべての変更を一度にバックアップするのではなく、必要なものだけを選んでバックアップできます。

例:

あなた: コードを書いていて、複数のファイルを変更しました。
でも、まだ試行錯誤中のファイルもあります。
完成したファイルだけをバックアップしたいです。

→ `git add`で、バックアップしたいファイルだけを選べます!

git add .の意味:

  • .は「現在のディレクトリ内のすべての変更」を意味します

  • すべての変更を一度にステージングに追加します

  • 初心者のうちは、git add .で問題ありません

3. バックアップを取る

git commit -m "作業中の状態を保存"

4. バックアップ一覧を確認

git log

5. 過去の状態に戻る(必要に応じて)

git checkout [バックアップのID]

2.8.6. よくあるエラーとLLMへの質問

2.8.6.1. エラー1: Gitがインストールされていない

エラーメッセージ:

command not found: git

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: git --version

【エラーメッセージ】
command not found: git

【質問】
Gitがインストールされていないようです。インストール方法を教えてください。

2.8.6.2. エラー2: リポジトリが初期化されていない

エラーメッセージ:

fatal: not a git repository

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: git status

【エラーメッセージ】
fatal: not a git repository

【質問】
Gitリポジトリが初期化されていないようです。初期化方法を教えてください。

2.8.6.3. エラー3: ユーザー情報が設定されていない

エラーメッセージ:

*** Please tell me who you are.

LLMへの質問例:

【環境情報】
- OS: Windows 11
- 実行したコマンド: git commit -m "Initial commit"

【エラーメッセージ】
*** Please tell me who you are.

【質問】
Gitのユーザー情報を設定する方法を教えてください。

Tip

わからないことがあったら

Gitでわからないことがあったら、すぐにLLM(CursorのChat機能など)に質問してください。 エラーメッセージをそのまま貼り付けるだけで、解決策を教えてくれます。

質問のコツ:

  • エラーメッセージをそのまま貼り付ける

  • 実行したコマンドを書く

  • 環境情報(OS、Gitバージョンなど)を書く

  • 試したことを書く


2.9. 仮想環境の構築(uv を使用)

Python の仮想環境は、プロジェクトごとに独立した Python 環境を作る仕組みです。これにより、異なるプロジェクトで異なるバージョンのパッケージを使い分けることができます。

2.9.1. なぜ uv を使うのか?

従来の方法(venv + pip)の問題点:

  • インストールが遅い(大規模プロジェクトで数分)

  • 依存関係の解決が不正確

  • 複数ツールの使い分けが必要

  • 仮想環境の有効化を忘れやすい(初心者の最大のつまずきポイント)

uv を使う理由:

  • [√] 10-100 倍高速 → 待ち時間のストレス軽減

  • [√] 現代的な標準 → 実務でよく使われる

  • [√] 統合ツール → 仮想環境とパッケージ管理を一元化

  • [√] 初心者に優しいuv runで有効化忘れを回避

初心者こそ、最初から効率的なツールを使うべきです。

2.9.2. 仮想環境とは?

仮想環境を使う理由:

  • [√] プロジェクトごとにパッケージのバージョンを管理できる

  • [√] システムの Python 環境を汚さない

  • [√] 権限エラーを回避できる

  • [√] 他のプロジェクトとの依存関係の衝突を防げる

仮想環境を使わない場合の問題:

  • [×] システム全体にパッケージがインストールされる

  • [×] プロジェクト A で Django 4.0、プロジェクト B で Django 5.0 を使いたい場合に困る

  • [×] 権限エラーが発生しやすい

2.9.3. uv とは?

uvは、Rust で書かれた高速な Python パッケージマネージャーです。pipvenvよりも10-100 倍速いと言われています。

uv の特徴:

  • [高速] 非常に高速

  • [統合] パッケージ管理と仮想環境管理を統合

  • [正確] 依存関係の解決が正確

  • [充実] プロジェクト管理機能も充実

Tip

ここで出てきた uv のコマンドをすべて覚える必要はありません

この本では、毎回使うコマンドはその都度書くので、「こういう役割のツールなんだな」くらいが分かれば十分です。

2.9.4. uv のインストール

2.9.4.1. Windows の場合

# PowerShell で実行
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

インストール後、PowerShell を再起動してください。

2.9.4.2. macOS の場合

curl -LsSf https://astral.sh/uv/install.sh | sh

インストール後、ターミナルを再起動するか、以下のコマンドを実行:

source $HOME/.cargo/env

2.9.4.3. インストール確認

uv --version

期待される出力:

uv 0.x.x

2.9.5. プロジェクト作成の鉄板パターン

uvを使った最も効率的なプロジェクト作成方法です。

# 1. プロジェクト初期化(仮想環境も自動作成)
uv init test-uv
cd test-uv

# 2. 依存関係追加
uv add django

# 3. Django がインストールされているか確認(有効化不要!)
uv run python -m django --version
# 出力例: 5.2.x

# ※ Django サーバーの起動は次章でプロジェクト作成後に解説します

ポイント: uv runを使えば仮想環境の有効化を意識する必要がありません。

2.9.6. uv run の活用で初心者のつまずき回避

最も革新的な提案として、uv runを積極活用します。

従来の方法(つまずきやすい):

# OS 別に異なるコマンドが必要
source .venv/bin/activate  # macOS
.venv\Scripts\Activate.ps1  # Windows

python manage.py runserver

deactivate  # 忘れやすい

uv を使った方法(初心者に優しい):

uv run python manage.py runserver  # 有効化不要!

これにより「仮想環境の有効化忘れ」という初心者最大のつまずきポイントを根本的に解決できます。

2.9.7. uv でプロジェクトを初期化する

uvには、プロジェクトを初期化する便利なコマンドがあります。

# プロジェクトを初期化(pyproject.toml が作成される)
uv init test-uv
cd test-uv

# 仮想環境が自動的に作成される
# 依存関係を追加(自動的にインストールも実行されます)
uv add django

# ※ `uv add`は以下を自動で行います:
# - pyproject.toml への依存関係の記録
# - パッケージのダウンロードとインストール
# - 仮想環境への配置

# 開発用依存関係を追加
uv add --dev pytest black

Tip

uv inituv venvの使い分け

  • uv init(推奨): 新規プロジェクトを始める場合

    • プロジェクト設定ファイル(pyproject.toml)も自動作成

    • 依存関係管理が簡単

  • uv venv 既存のプロジェクトや、手動で設定したい場合

    • 仮想環境だけを作成

    • より細かい制御が可能

初心者の方はuv initを使うことをお勧めします。

uv initで作成されるファイル:

  • pyproject.toml: プロジェクト設定と依存関係

  • .venv/: 仮想環境(自動作成)

  • main.py: サンプルファイル(動作確認用)

注釈

uv initで作成されるファイルについて

uv init を実行すると main.py というサンプルファイルが作成されます。 これは動作確認用のファイルです。次章で Django プロジェクトを作成すると不要になるため、 そのタイミングで削除します(削除方法は次章で案内します)。

2.9.8. よくある操作

2.9.8.1. 依存関係の確認

# インストール済みパッケージの一覧
uv pip list

# 依存関係ツリーを表示
uv pip tree

2.9.8.2. requirements.txt からインストール(既存プロジェクトの場合)

注意: 新しいプロジェクトではuv addでパッケージを追加します。 uv syncは、他の人のプロジェクトをクローンしたときに、pyproject.tomlから一括で依存関係をインストールする際に使用します。 uv pipは、既存のrequirements.txtからインストールする場合など、特別な場合のみ使用します。

# requirements.txt を作成(既存プロジェクトの場合)
uv pip freeze > requirements.txt

# requirements.txt からインストール
uv pip install -r requirements.txt

2.9.8.3. 仮想環境の削除

# 仮想環境に入って作業している場合は仮想環境を無効化してから
deactivate

# .venv ディレクトリを削除
rm -rf .venv
# または (Windows)
rmdir /s .venv

2.9.9. 仮想環境を使う理由(再確認)

Tip

仮想環境を使う習慣をつけよう

  • 新しいプロジェクトを始める時は、必ず仮想環境を作成

  • プロジェクトディレクトリ内に .venv を作成するのが一般的

  • .venv.gitignore に追加する(Git にコミットしない)

なぜ .venv をコミットしないのか?

  • 仮想環境は環境依存(OS、アーキテクチャによって異なる)

  • サイズが大きい

  • pyproject.tomlrequirements.txt があれば、誰でも再現できる

2.9.10. LLM に質問する場合

仮想環境や uv でわからないことがあったら、LLM(Cursor の Chat 機能など)に質問してください。

2.9.10.1. uv のインストールに関する質問

質問例 1: uv のインストール方法を知りたい

【環境情報】
- OS: macOS 14.2
- Python: 3.13.x

【質問】
uv のインストール方法と、仮想環境の作成手順を教えてください。

質問例 2: uv がインストールできない

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: curl -LsSf https://astral.sh/uv/install.sh | sh

【エラーメッセージ】
インストールは成功したように見えましたが、
ターミナルを再起動しても「uv --version」が動きません。

【質問】
uv がインストールできていないようです。どうすれば確認できますか?

2.9.10.2. 仮想環境の有効化に関する質問

質問例 3: 仮想環境が有効化されない

【環境情報】
- OS: macOS 14.2
- 実行したコマンド:
  uv venv
  source .venv/bin/activate

【エラーメッセージ】
プロンプトに「(.venv)」が表示されません

【質問】
仮想環境を有効化したつもりですが、プロンプトが変わりません。
どうすれば確認できますか?

質問例 4: Windows で仮想環境が有効化されない

【環境情報】
- OS: Windows 11
- 実行したコマンド: .venv\Scripts\Activate.ps1

【エラーメッセージ】
このシステムではスクリプトの実行が無効になっているため...

【質問】
PowerShell で仮想環境を有効化できません。解決方法を教えてください。

2.9.10.3. パッケージのインストールに関する質問

質問例 5: パッケージのインストールでエラーが出る

【環境情報】
- OS: macOS 14.2
- Python: 3.13.x
- 実行したコマンド: uv add django

【エラーメッセージ】
ERROR: Could not find a version that satisfies the requirement django

【質問】
このエラーの原因と解決方法を教えてください。

2.9.11. よくある質問パターン

  1. ツールのインストール方法を知りたい

    • 「uv のインストール方法を教えてください」

  2. エラーの原因を知りたい

    • command not found: uvというエラーが出ました。どうすればいいですか?」

    • Could not find a version that satisfies the requirementというエラーが出ました。どうすればいいですか?」

  3. 仮想環境の概念を知りたい

    • 「仮想環境とは何ですか?」

    • 「なぜ仮想環境が必要なんですか?」

  4. ツールの使い方を知りたい

    • 「uv で仮想環境を作成する方法を教えてください」

    • uv runの使い方を教えてください」

  5. トラブルシューティング

    • 「仮想環境が有効化されません。どうすればいいですか?」

    • 「パッケージのインストールでエラーが出ます。どうすればいいですか?」


2.10. よくあるエラーとLLMへの質問方法

環境構築でエラーが出たら、LLMに相談するのが最速です。

2.10.1. 効果的な質問の構造

【環境情報】
- OS: Windows 11 / macOS 14.2 / Ubuntu 22.04
- Python: 3.13.x
- 実行したコマンド: python --version

【エラーメッセージ】
[エラーメッセージをそのままコピー]

【試したこと】
- PATHを確認した
- ターミナルを再起動した

【質問】
どうすればこのエラーを解決できますか?

2.10.2. 典型的なエラーパターンとLLM質問テンプレート

2.10.2.1. エラーパターン1: PATH設定の問題

症状:

python --version

実行すると:

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

(macOSの場合)

command not found: python

LLMへの質問例:

【環境情報】
- OS: Windows 11
- Python: インストール直後
- 実行したコマンド: python --version

【エラーメッセージ】
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

【試したこと】
- Pythonを公式サイトからダウンロードしてインストール
- PowerShellを再起動

【質問】
PATHが通っていないようですが、手動で設定する方法を教えてください。

解決のポイント:

  • Windows(推奨): Pythonを再インストールし、最初の画面で「Add Python to PATH」にチェックを入れる

  • macOS: python3 コマンドを使うか、エイリアスを設定する

2.10.2.2. エラーパターン2: 権限エラー

症状:

pip install django

実行すると:

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied

注釈

pipとuvの併存について

※ 本書では通常uv addでパッケージをインストールしますが、 インターネット上の記事や他の教材ではpip install ...の例も多く見かけます。 そのため、ここではあえてpipの例でエラーパターンを紹介しています。

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- Python: 3.13.x
- 実行したコマンド: pip install django

【エラーメッセージ】
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied

【試したこと】
- pipのバージョンを確認(pip --version)
- ターミナルを再起動

【質問】
権限エラーが出ています。sudoを使わずに解決する方法を教えてください。

解決のポイント:

  • 仮想環境を使う(推奨)

  • システムディレクトリではなく、ホームディレクトリを使う

2.10.2.3. エラーパターン3: 仮想環境の問題

症状:

仮想環境を有効化しても、プロンプトに「(.venv)」が表示されない。

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- Python: 3.13.x
- 実行したコマンド:
  uv venv
  source .venv/bin/activate

【エラーメッセージ】
プロンプトに「(.venv)」が表示されません

【試したこと】
- 仮想環境が作成されているか確認(ls -la .venv)
- ターミナルを再起動

【質問】
仮想環境を有効化したつもりですが、プロンプトが変わりません。
どうすれば確認できますか?

解決のポイント:

  • which python でPythonのパスを確認

  • echo $VIRTUAL_ENV で環境変数を確認

  • 仮想環境を再作成

2.10.2.4. エラーパターン4: Gitの問題

症状1: Gitリポジトリが初期化されていない

fatal: not a git repository (or any of the parent directories): .git

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: git status

【エラーメッセージ】
fatal: not a git repository (or any of the parent directories): .git

【試したこと】
- 現在のディレクトリを確認(pwd)
- 別のディレクトリで試した

【質問】
Gitリポジトリとして初期化されていないというエラーが出ました。
どうすれば初期化できますか?

症状2: Gitのユーザー情報が設定されていない

*** Please tell me who you are.

Run
  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

LLMへの質問例:

【環境情報】
- OS: Windows 11
- 実行したコマンド: git commit -m "Initial commit"

【エラーメッセージ】
*** Please tell me who you are.

Run
  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

【試したこと】
- git initを実行済み
- ファイルを追加済み(git add .)

【質問】
Gitのユーザー情報を設定する方法を教えてください。

2.10.2.5. エラーパターン5: ターミナルコマンドの問題

症状: コマンドが見つからない

command not found: ls

LLMへの質問例:

【環境情報】
- OS: Windows 11
- 実行したコマンド: ls(コマンドプロンプトで実行)

【エラーメッセージ】
'ls' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

【試したこと】
- コマンドプロンプトで実行した

【質問】
Windowsのコマンドプロンプトで「ls」コマンドが使えません。
PowerShellなら使えますか?それとも別のコマンドを使うべきですか?

症状: ファイルが見つからない

cd: no such file or directory: project

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: cd project

【エラーメッセージ】
cd: no such file or directory: project

【試したこと】
- 現在のディレクトリを確認(pwd)
- lsでファイル一覧を確認

【質問】
「project」というフォルダに移動しようとしましたが、
「no such file or directory」と表示されました。
どうすれば確認できますか?

2.10.2.6. エラーパターン6: uvの問題

症状: uvがインストールできない

インストールは成功したように見えるが、uv --versionが動かない。

LLMへの質問例:

【環境情報】
- OS: macOS 14.2
- 実行したコマンド: curl -LsSf https://astral.sh/uv/install.sh | sh

【エラーメッセージ】
インストールは成功したように見えましたが、
ターミナルを再起動しても「uv --version」が動きません。

【試したこと】
- ターミナルを再起動
- インストールスクリプトを再実行

【質問】
uvがインストールできていないようです。どうすれば確認できますか?

2.10.3. 効果的な質問のコツ

  1. 環境情報を必ず含める

    • OS、Pythonバージョン、実行したコマンド

  2. エラーメッセージをそのまま貼り付ける

    • 省略や要約は避ける

  3. 試したことを書く

    • 重複した提案を避けられる

  4. 具体的な質問をする

    • 「動きません」ではなく、「どうすれば解決できますか?」と聞く

  5. 段階的に質問する

    • 複数の問題がある場合は、1つずつ解決する

2.10.4. よくある質問パターン

  1. インストールの問題

    • 「○○がインストールできません」

    • 「コマンドが見つかりません」

  2. 設定の問題

    • 「PATHが通っていません」

    • 「環境変数が設定されていません」

  3. 権限の問題

    • 「Permission deniedエラーが出ます」

    • 「sudoを使わずに解決したいです」

  4. 仮想環境の問題

    • 「仮想環境が有効化されません」

    • 「パッケージがインストールできません」

  5. Gitの問題

    • 「Gitリポジトリが初期化されていません」

    • 「コミットできません」

  6. コマンドの問題

    • 「コマンドが見つかりません」

    • 「エラーメッセージの意味がわかりません」

Tip

エラーは学習のチャンス

エラーが出ても、それは「学習のチャンス」です。 LLMに質問して、なぜエラーが出たのか、どうすれば解決できるのかを理解しましょう。


2.11. 環境構築チェックリスト

すべての準備が整ったか確認しましょう。

2.11.1. 確認手順

  1. ターミナルを起動

    • Windows: PowerShellまたはコマンドプロンプトを開く

    • macOS: ターミナルアプリを開く(Spotlight検索で「ターミナル」と入力)

  2. 以下のコマンドを順番に実行

# Python確認
python --version
# または
python3 --version

# Git確認
git --version

# uv確認
uv --version

# 仮想環境を作成できるか確認(uvを使用)
uv venv test_venv

# 仮想環境を削除
rm -rf test_venv
# または (Windows)
rmdir /s test_venv

すべて成功したら、準備完了です!

[√] チェックリスト

  • Pythonがインストールされ、python --version が動く

  • Gitがインストールされ、git --version が動く

  • Cursorがインストールされている

  • ターミナルの基本コマンドが理解できた

  • Gitの基本コマンドが理解できた

  • CursorのAI機能が使えるようになった

  • エラーが出たらLLMに質問する方法が分かった


2.12. 次のステップ

環境構築お疲れさまでした!

多くの初心者が、この章で挫折します。ここまで来たあなたは、もう立派な開発者の仲間入りです。

この章で学んだこと:

  • Python、Git、エディタのインストール

  • ターミナルの基本操作

  • よくあるエラーの解決方法

  • LLMを使ったトラブルシューティング

次の章では:

  • Djangoプロジェクトの作成

  • “Hello, World!” の表示

  • Djangoの基本構造の理解

環境が整ったので、いよいよコードを書き始めます。

Tip

環境構築で困ったら

  • まずLLMに質問

  • それでも解決しない場合は、Google検索やStack Overflow

  • 本書のGitHub Discussionsでも質問できます(URL)

エラーは誰にでも起こります。恐れず、一歩ずつ進みましょう。


次章: Djangoプロジェクトを始める