0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データサイエンス環境構築[windows]

Last updated at Posted at 2026-01-08

データサイエンス環境構築ガイド

このガイドでは、Windowsでデータサイエンス・機械学習の開発環境を一から構築する方法を解説します。
各ステップで「なぜ必要か」「何が起きるか」を丁寧に説明しているので、コマンドを打ちながら進めてください。


📋 目次

  1. Claude Code(まずこれを入れよう!)
  2. WSL(Windows Subsystem for Linux)
  3. Docker
  4. GitHub
  5. UV(Pythonパッケージマネージャー)
  6. プロジェクトテンプレートの使い方
  7. トラブルシューティング

ClaudeCode

Claude Codeとは?

Claude Code は、AIアシスタントClaudeをコマンドラインから使えるツールです。
環境構築で困ったとき、コードでエラーが出たとき、何をすればいいかわからないとき...
Claudeに聞けば解決してくれます!

まずはClaude Codeをインストールして、このガイドで困ったらClaudeに質問しながら進めましょう。


⚠️ 重要:WindowsとWSLは別環境!

Claude CodeはWindowsとWSLそれぞれにインストールが必要です。

環境 インストール方法 使う場面
Windows (PowerShell) irm ... | iex Windows上での作業
WSL (Ubuntu) curl ... | bash Linux環境での開発作業

同じPCでも、WindowsとWSLは完全に別のOSとして動いています。
まずはWindowsにインストールして、WSLを構築したら、WSL内にも別途インストールしましょう。


【Windows】Step 1: インストール

PowerShellを開いて以下を実行:

irm https://claude.ai/install.ps1 | iex

このコマンドの意味:

  • irm: Invoke-RestMethod(URLからスクリプトをダウンロード)
  • iex: Invoke-Expression(ダウンロードしたスクリプトを実行)

【Windows】Step 2: 動作確認

PowerShellを再起動してから:

claude --version

【Windows】Step 3: 初回認証

claude

ブラウザが開くので、Anthropicアカウントでログインしてください。


【WSL】Step 1: インストール(WSL構築後に実行)

WSL(Ubuntu)のターミナルで以下を実行:

curl -fsSL https://claude.ai/install.sh | bash

【WSL】Step 2: シェルを再読み込み

source ~/.bashrc

【WSL】Step 3: 動作確認

claude --version

【WSL】Step 4: 初回認証

claude

ブラウザが開くので、同じAnthropicアカウントでログインしてください。


💡 困ったときの使い方

環境構築で困ったら、このガイドのファイルをClaudeに読ませて質問できます:

claude "このガイドを読んで、〇〇の部分がわからないので教えて" -f このファイルのパス

または、Claude Codeを起動してから:

> @ファイルパス を読んで、〇〇について教えて

Claudeは最強の相棒です。遠慮なく何でも聞いてください!


WSL

WSLとは?

WSL(Windows Subsystem for Linux) は、Windows上でLinux環境を動かすための仕組みです。
データサイエンスや機械学習の分野では、多くのツールがLinux向けに作られているため、WSLは必須級のツールです。

前提条件

  • Windows 10 バージョン2004以降、またはWindows 11
  • 管理者権限があること

Step 1: PowerShellを管理者として開く

  1. Windowsキーを押す
  2. 「PowerShell」と入力
  3. 「管理者として実行」をクリック

Step 2: WSLをインストール

wsl --install

このコマンドで起きること:

  • WSL機能が有効化される
  • 仮想マシンプラットフォームが有効化される
  • Ubuntuディストリビューションがインストールされる

Step 3: PCを再起動

インストール完了後、必ずPCを再起動してください。

shutdown /r /t 0

Step 4: Ubuntuの初期設定

再起動後、自動的にUbuntuが起動します。起動しない場合は、スタートメニューから「Ubuntu」を検索して起動してください。

Enter new UNIX username: (好きなユーザー名を入力)
New password: (パスワードを入力、画面には表示されません)
Retype new password: (同じパスワードを再入力)

⚠️ 注意: パスワードを入力しても画面には何も表示されませんが、正常に入力されています。

Step 5: 動作確認

# Ubuntuのバージョン確認
cat /etc/os-release

以下のような出力が出れば成功です:

NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
...

Step 6: システムを最新状態に更新

sudo apt update && sudo apt upgrade -y

このコマンドの意味:

  • sudo: 管理者権限で実行
  • apt update: パッケージリストを最新に更新
  • apt upgrade -y: インストール済みパッケージを更新(-yは確認をスキップ)

Docker

Dockerとは?

Docker は、アプリケーションを「コンテナ」という隔離された環境で動かすツールです。
「自分のPCでは動くのに、他の人のPCでは動かない」という問題を解決できます。

Step 1: 必要なパッケージをインストール

WSLのターミナル(Ubuntu)で以下を実行:

# 必要なパッケージをインストール
sudo apt install -y ca-certificates curl gnupg

Step 2: Dockerをインストール

公式のインストールスクリプトを使用します:

curl -fsSL https://get.docker.com | sh

このコマンドの意味:

  • curl -fsSL: URLからスクリプトをダウンロード
  • | sh: ダウンロードしたスクリプトを実行

インストールには数分かかります。完了するまで待ちましょう。

Step 3: 権限の設定

毎回 sudo を打たなくて済むように、ユーザーをdockerグループに追加します:

# dockerグループに自分を追加
sudo usermod -aG docker $USER

⚠️ 重要: 設定を反映させるため、一度WSLを再起動します:

# WSLを終了
exit

PowerShellで以下を実行:

wsl --shutdown

再度Ubuntuを起動してください。

Step 4: Dockerサービスを起動

sudo service docker start

毎回起動時にDockerを自動起動させたい場合は、以下のコマンドを ~/.bashrc に追加してください:

echo 'sudo service docker start' >> ~/.bashrc

Step 5: 動作確認

docker --version

出力例:

Docker version 24.0.7, build afdd53b

さらに、テストコンテナを実行:

docker run hello-world

「Hello from Docker!」というメッセージが表示されれば成功です🎉

Step 6: Python開発用イメージをダウンロード

docker pull ghcr.io/astral-sh/uv:python3.11-bookworm

このコマンドの意味:

  • Python 3.11 と UV(パッケージマネージャー)が入ったイメージをダウンロード

Step 7: 作業用ディレクトリを作成

# ホームディレクトリに作業用フォルダを作成
mkdir -p ~/research

Step 8: コンテナを起動

docker run -itd \
  --shm-size=8g \
  -p 8888:8888 \
  -v ~/research:/workspace \
  --name research \
  ghcr.io/astral-sh/uv:python3.11-bookworm \
  bash

各オプションの意味:

オプション 説明
-itd インタラクティブモードでバックグラウンド実行
--shm-size=8g 共有メモリを8GBに設定(機械学習で必要)
-p 8888:8888 Jupyter Notebook用のポート
-v ~/research:/workspace ホストの~/researchをコンテナ内の/workspaceにマウント
--name research コンテナに名前をつける

Step 9: コンテナに入る

docker exec -it research bash

プロンプトが変わり、コンテナ内に入ったことが確認できます。

よく使うDockerコマンド一覧

# コンテナの一覧表示
docker ps -a

# コンテナを停止
docker stop research

# コンテナを再開
docker start research

# コンテナを削除
docker rm research

# コンテナから抜ける(コンテナは動き続ける)
exit

GitHub

GitHubとは?

GitHub は、Gitを使ったコード管理をオンラインで行えるサービスです。
コードのバックアップ、共有、チーム開発、ポートフォリオ作成などに使われます。

Step 1: GitHubアカウントを作成

  1. https://github.com にアクセス
  2. 「Sign up」をクリック
  3. メールアドレス、パスワード、ユーザー名を入力
  4. メール認証を完了

💡 ユーザー名のコツ:

  • 本名またはハンドルネームで覚えやすいもの
  • 将来のポートフォリオになるので、ふざけた名前は避ける

Step 2: Gitのインストール確認

WSL内では通常プリインストールされています:

git --version

インストールされていない場合:

sudo apt install -y git

Step 3: Gitの初期設定

# ユーザー名を設定(GitHubのユーザー名を推奨)
git config --global user.name "あなたのGitHubユーザー名"

# メールアドレスを設定(GitHubに登録したメールアドレス)
git config --global user.email "your.email@example.com"

# デフォルトブランチ名を設定
git config --global init.defaultBranch main

# 設定を確認
git config --list

Step 4: SSH鍵の設定(重要!)

SSH鍵を使うと、パスワードなしでGitHubにアクセスできます。

# SSH鍵を生成
ssh-keygen -t ed25519 -C "your.email@example.com"

以下のように聞かれます。すべてEnterで進めてOKです:

Enter file in which to save the key: (そのままEnter)
Enter passphrase: (そのままEnter)
Enter same passphrase again: (そのままEnter)

Step 5: SSH鍵をGitHubに登録

# 公開鍵を表示
cat ~/.ssh/id_ed25519.pub

出力例:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your.email@example.com

この出力を全部コピーして、GitHubに登録します:

  1. GitHubにログイン
  2. 右上のアイコン → Settings
  3. 左メニュー → SSH and GPG keys
  4. New SSH key をクリック
  5. Titleに「WSL」など分かりやすい名前を入力
  6. Keyにコピーした内容を貼り付け
  7. Add SSH key をクリック

Step 6: 接続テスト

ssh -T git@github.com

初回は以下のように聞かれます。yes と入力:

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

成功すると以下が表示されます:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

基本的なGitコマンド

# リポジトリをクローン
git clone git@github.com:ユーザー名/リポジトリ名.git

# 変更状態を確認
git status

# 変更をステージング(特定のファイル)
git add ファイル名

# コミット(変更を記録)
git commit -m "変更内容の説明"

# リモートにプッシュ
git push origin main

# ブランチを作成して移動
git checkout -b 新しいブランチ名

# 最新の変更を取得
git pull

Gitの流れを理解する

[作業ディレクトリ] → git add → [ステージング] → git commit → [ローカルリポジトリ] → git push → [GitHub]
  1. ファイルを編集する
  2. git add で変更を「ステージング」に追加
  3. git commit で変更を「コミット」として記録
  4. git push でGitHubにアップロード

UV

UVとは?

UV は、Pythonのパッケージ管理と仮想環境を高速に扱えるツールです。
従来の pipvenv よりも 10〜100倍高速 で、現代的なPython開発には欠かせません。

Step 1: UVのインストール

Dockerコンテナ内ではすでにインストールされています。WSL直接で使う場合:

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

インストール後、シェルを再起動:

source ~/.bashrc

Step 2: 動作確認

uv --version

Step 3: 仮想環境の作成

# プロジェクトディレクトリに移動
cd /workspace

# 仮想環境を作成
uv venv

このコマンドで起きること:

  • .venv ディレクトリが作成される
  • プロジェクト専用のPython環境が準備される

Step 4: 仮想環境を有効化

source .venv/bin/activate

プロンプトの先頭に (.venv) が表示されれば成功です。

Step 5: パッケージのインストール

# 単一パッケージをインストール
uv add numpy

# 複数パッケージをインストール
uv add pandas scikit-learn matplotlib

# 開発用パッケージをインストール
uv add --dev pytest black ruff

Step 6: 依存関係の同期

pyproject.toml がある場合:

uv sync

よく使うUVコマンド一覧

# 仮想環境を無効化
deactivate

# インストール済みパッケージを確認
uv pip list

# パッケージを削除
uv remove パッケージ名

# Pythonのバージョンを指定して仮想環境を作成
uv venv --python 3.11

Template

プロジェクトテンプレートとは?

プロジェクトを始めるたびに、ディレクトリ構成を考えたり、設定ファイルを作ったりするのは面倒です。
テンプレートを使えば、すぐに開発を始められます。

2つのテンプレートを用意しました:

テンプレート 用途 含まれるもの
miz-template データサイエンス・機械学習 CLAUDE.md, pyproject.toml, data/, notebooks/ など
tex_template LaTeX論文執筆(Overleaf対応) main.tex, reference.bib, figures/ など

【練習】テンプレートをGitHubにpushする

Gitの練習として、テンプレートを使って自分のリポジトリを作成してみましょう。
テンプレートは初期状態(.gitなし)なので、自分でgit initから始めます。

Step 1: GitHubで空のリポジトリを作成

  1. https://github.com にログイン
  2. 右上の「+」→「New repository」
  3. Repository name: my-first-project(好きな名前でOK)
  4. Initialize this repository with: のチェックはすべて外す(空のまま)
  5. 「Create repository」をクリック

Step 2: テンプレートを展開

WSL内で作業します:

# 作業ディレクトリに移動
cd ~/research

# テンプレートZIPをコピー(Windowsからアクセス)
# ※ パスは自分の環境に合わせて変更してください
cp /mnt/c/Users/あなたのユーザー名/... ./miz-template-main.zip

# 展開
unzip miz-template-main.zip

# フォルダ名を変更
mv miz-template-main my-first-project

# プロジェクトに移動
cd my-first-project

Step 3: Gitリポジトリを初期化

# Gitリポジトリとして初期化
git init

# 全ファイルをステージング
git add .

# 最初のコミット
git commit -m "Initial commit: プロジェクトテンプレートを追加"

Step 4: GitHubにpush

# リモートリポジトリを追加(URLは自分のものに変更)
git remote add origin git@github.com:あなたのユーザー名/my-first-project.git

# mainブランチとしてpush
git push -u origin main

Step 5: 確認

GitHubのリポジトリページを更新して、ファイルがアップロードされていれば成功です!


【tex_template】LaTeX/Overleaf用テンプレート

論文執筆用のLaTeXテンプレートです。同じ手順でpushできます。

# 展開
unzip tex_template-main.zip
mv tex_template-main my-paper
cd my-paper

# Gitリポジトリを初期化してpush
git init
git add .
git commit -m "Initial commit: LaTeXテンプレートを追加"
git remote add origin git@github.com:あなたのユーザー名/my-paper.git
git push -u origin main

Overleafで使う場合:

  1. Overleafにログイン
  2. 「New Project」→「Import from GitHub」
  3. 先ほど作成したリポジトリを選択

テンプレートの構成(miz-template)

my-first-project/
├── .claude/           # Claude Code用ルール
│   └── rules/
├── CLAUDE.md          # プロジェクト設定(Claudeが読む)
├── data/
│   ├── raw/           # 生データ(編集禁止)
│   ├── interim/       # 中間データ
│   ├── processed/     # 処理済みデータ
│   └── result/        # 結果
├── models/            # 学習済みモデル
├── module/            # 自作モジュール
├── notebooks/         # Jupyter Notebook
├── outputs/           # 出力ファイル
├── reference/         # 参考資料
├── scripts/           # 実行スクリプト
└── pyproject.toml     # 依存関係(uv用)

Troubleshooting

よくあるエラーと対処法

1. 「docker: permission denied」エラー

# dockerグループに追加されているか確認
groups

# 追加されていない場合
sudo usermod -aG docker $USER

# WSLを再起動
exit
# PowerShellで: wsl --shutdown

2. 「Cannot connect to the Docker daemon」エラー

# Dockerサービスが起動しているか確認
sudo service docker status

# 起動していない場合
sudo service docker start

3. WSLでメモリ不足

Windowsの %UserProfile%\.wslconfig ファイルを作成/編集:

[wsl2]
memory=8GB
swap=4GB

その後WSLを再起動:

wsl --shutdown

4. SSH接続でPermission denied

# SSH鍵のパーミッションを確認
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

🎓 次のステップ:marimoでデータ分析

環境構築が完了したら、marimo を使ってデータ分析を始めましょう!

marimoとは?

marimo は、Pythonで書ける次世代のノートブックです。
Jupyter Notebookと違い、純粋なPythonファイル(.py) として保存されるため、Gitで管理しやすく、Claude Codeとの相性も抜群です。

特徴 Jupyter marimo
ファイル形式 .ipynb (JSON) .py (Python)
Git管理 差分が見にくい 差分が見やすい
実行順序 手動 自動(リアクティブ)
VSCode対応 別途拡張機能 公式拡張機能あり

Step 1: marimoをインストール

# 仮想環境を有効化してから
source .venv/bin/activate

# marimoをインストール
uv add marimo

Step 2: VSCode拡張機能をインストール

  1. VSCodeを開く
  2. 拡張機能(Ctrl+Shift+X)を開く
  3. marimo」で検索
  4. marimo - Edit reactive notebooks in VSCode」をインストール

Step 3: marimoノートブックを作成

# 新しいノートブックを作成
marimo edit notebooks/my_analysis.py

ブラウザでmarimoが開きますが、VSCodeで編集したい場合は以下の手順で:

  1. 作成された notebooks/my_analysis.py をVSCodeで開く
  2. 右上の「Open in marimo」ボタンをクリック
  3. VSCode内でmarimoエディタが起動

Step 4: サンプルコード(CSVデータの分析)

以下は、CSVファイルを読み込んで分析するサンプルです。
自分のCSVファイルを使って試してみましょう!

import marimo

__generated_with = "0.18.4"
app = marimo.App(width="medium")


@app.cell
def _():
    import marimo as mo
    return (mo,)


@app.cell
def _():
    import pandas as pd
    import numpy as np
    return (pd, np)


@app.cell
def _(mo):
    mo.md("""
    # My Data Analysis

    CSVファイルを読み込んで可視化します。
    """)
    return


@app.cell
def _(pd):
    # CSVファイルのパスを自分のものに変更してください
    DATA_PATH = "/workspace/data/raw/your_data.csv"

    df = pd.read_csv(DATA_PATH)
    df
    return (df,)


@app.cell
def _(df):
    # データの基本情報
    df.info()
    return


@app.cell
def _(df):
    # 統計情報
    df.describe()
    return


if __name__ == "__main__":
    app.run()

Step 5: Claude Codeでさらに分析を深める

marimoとClaude Codeを組み合わせると、AIと対話しながら分析を進められます。

# プロジェクトディレクトリでClaude Codeを起動
claude

Claude Codeに聞いてみよう:

> @notebooks/my_analysis.py を見て、次にどんな分析をすべきか提案して

> このデータから異常値を検出するコードを追加して

> グラフをもっと見やすくして、論文に使えるようにして

marimoファイルは純粋なPythonなので、Claude Codeが直接編集できます!


marimoのよく使うコマンド

# 既存のノートブックを開く
marimo edit notebooks/my_analysis.py

# ノートブックを実行(表示のみ)
marimo run notebooks/my_analysis.py

# Jupyter形式に変換
marimo convert notebooks/my_analysis.py -o notebooks/my_analysis.ipynb

# ブラウザで開かずVSCodeのみで使う場合
# → VSCodeでファイルを開いて拡張機能から起動

🎉 お疲れ様でした!環境構築完了です!

何か問題があれば、Claude Codeに聞いてみてください。
このガイドを読ませれば、文脈を理解して助けてくれます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?