# 事前準備：環境の構築

この章では、本講座で使うPythonの環境を用意します。
Pythonのバージョンを確認し、venvで講座用の仮想環境を作成してライブラリをインストールし、正しくインストールできたことを確認します。
uvを使った環境の作り方もオプションとして紹介します。

(setup-python-version)=
## 対象のPythonバージョン

この章のコマンドは、WindowsではPowerShell、macOSではターミナル（zsh）で実行します。
Linuxの場合はmacOSと同じ手順で進められます。

講座ではPython 3.14を推奨します。
資料に掲載している実行結果は、すべてPython 3.14で実行したものです。
Python 3.13でも動作しますが、動作は保証しません。実行結果が資料と異なる場合があります。

次のコマンドで、手元のPythonのバージョンを確認します。

`````{tab-set}
:sync-group: os

````{tab-item} Windows
:sync: windows

```{code-block} powershell
:caption: Pythonのバージョンを確認

py --list
```

インストール済みのPythonのバージョンが一覧で表示されます。一覧に3.14があることを確認します。
````

````{tab-item} macOS
:sync: macos

```{code-block} zsh
:caption: Pythonのバージョンを確認

python3 --version
```

表示されたバージョンが3.14であることを確認します。
````
`````

Pythonがインストールされていない場合や、3.13より古いバージョンしかない場合は、[Python公式サイト](https://www.python.org/downloads/)からPython 3.14を入手してインストールしてください。

(setup-venv)=
## 仮想環境を作成する（venv）

仮想環境は、ほかの環境から独立したPythonの実行環境です。
講座で使うライブラリを仮想環境にインストールすると、PC上のほかの作業で使っているライブラリとバージョンが混ざらず、資料と同じバージョンの環境を再現できます。
ここではPythonに標準で付属しているvenvを使います。

まず、講座用の作業フォルダを作成して移動します。

```{code-block} text
:caption: 作業フォルダを作成して移動

mkdir data-analysis
cd data-analysis
```

作業フォルダで仮想環境を作成します。仮想環境は`env`フォルダに作られます。

`````{tab-set}
:sync-group: os

````{tab-item} Windows
:sync: windows

```{code-block} powershell
:caption: 仮想環境を作成

py -3.14 -m venv env
```
````

````{tab-item} macOS
:sync: macos

```{code-block} zsh
:caption: 仮想環境を作成

python3.14 -m venv env
```
````
`````

```{note}
Python 3.13を使う場合は、コマンドの`3.14`を`3.13`に読み替えてください。
```

作成した仮想環境を有効化（activate）します。

`````{tab-set}
:sync-group: os

````{tab-item} Windows
:sync: windows

```{code-block} powershell
:caption: 仮想環境を有効化

env\Scripts\Activate.ps1
```

実行ポリシーのエラーが表示された場合は、{ref}`setup-troubleshooting`を参照してください。
````

````{tab-item} macOS
:sync: macos

```{code-block} zsh
:caption: 仮想環境を有効化

source env/bin/activate
```
````
`````

仮想環境を有効化すると、プロンプトの先頭に`(env)`と表示されます。
以降の手順は、仮想環境を有効化した状態で行います。

仮想環境の利用をやめるときは、`deactivate`コマンドで無効化します。
仮想環境を無効化するとプロンプトが元に戻ります。
ターミナルを閉じた後で作業を再開するときは、作業フォルダに移動して仮想環境を有効化し直します。

```{code-block} text
:caption: 仮想環境を無効化

deactivate
```

(setup-install)=
## ライブラリをインストールする

講座では次のライブラリを使います。

| ライブラリ | バージョン | 講座での用途 |
|---|---|---|
| JupyterLab | 4.6.4 | ノートブックの実行環境 |
| pandas | 3.0.6 | 表形式データの読み込み・加工・集計 |
| matplotlib | 3.11.2 | グラフの作成 |
| requests | 2.34.2 | Webからのデータ取得 |
| beautifulsoup4 | 4.15.0 | HTMLの解析 |

仮想環境を有効化した状態で、次のコマンドを実行してインストールします。
資料の実行結果と同じ結果を得るため、バージョンを指定してインストールします。

```{code-block} text
:caption: ライブラリをインストール

python -m pip install jupyterlab==4.6.4 pandas==3.0.6 matplotlib==3.11.2
python -m pip install requests==2.34.2 beautifulsoup4==4.15.0
```

(setup-check)=
## 環境を確認する

仮想環境を有効化した状態で、次のコマンドを実行してPythonのバージョンを確認します。

```{code-block} text
:caption: Pythonのバージョンを確認

python --version
```

`Python 3.14.x`と表示されることを確認します（末尾の`x`の数字は違っていてもかまいません。3.13を使う場合は`Python 3.13.x`）。

次のコマンドで、仮想環境にインストールされたライブラリの一覧を表示します。

```{code-block} text
:caption: インストール済みのライブラリを表示

python -m pip list
```

{ref}`setup-install`の表の5つのライブラリ（jupyterlab、pandas、matplotlib、requests、beautifulsoup4）が、表と同じバージョンで表示されることを確認します。
一覧には、これらのライブラリが必要とするほかのライブラリも表示されます。

最後に、次のコマンドでJupyterLabが起動できることを確認します。

```{code-block} text
:caption: JupyterLabを起動

jupyter lab
```

ブラウザが開き、以下の様なJupyterLabの画面が表示されれば、講座の準備は完了です。

```{figure} images/1_jupyterlab.png
:alt: JupyterLabの画面

JupyterLabの画面
```

確認できたら、JupyterLabを起動したターミナルで`Ctrl+C`を2回押して終了します。

いずれかの確認で結果が違う場合は、{ref}`setup-troubleshooting`を参照してください。

(setup-uv)=
## （オプション）uvで環境を作成する

```{note}
この節は任意の手順です。
uvを使う場合は、{ref}`setup-venv`と{ref}`setup-install`の代わりにこの節の手順を行います。
venvで環境を作った場合は読み飛ばしてかまいません。
```

uvは高速なPythonのパッケージ管理ツールです。
指定したバージョンのPythonが手元にない場合は、自動で取得して仮想環境を作成できます。
uvの入手方法は[uvの公式ドキュメント](https://docs.astral.sh/uv/)を参照してください。

作業フォルダで次のコマンドを実行し、Python 3.14の仮想環境を`env`フォルダに作成します。

```{code-block} text
:caption: uvで仮想環境を作成

uv venv env --python 3.14
```

仮想環境の有効化はvenvの場合と同じです。

`````{tab-set}
:sync-group: os

````{tab-item} Windows
:sync: windows

```{code-block} powershell
:caption: 仮想環境を有効化

env\Scripts\Activate.ps1
```
````

````{tab-item} macOS
:sync: macos

```{code-block} zsh
:caption: 仮想環境を有効化

source env/bin/activate
```
````
`````

仮想環境を有効化した状態で、ライブラリをインストールします。バージョンはvenvの場合と同じです。

```{code-block} text
:caption: uvでライブラリをインストール

uv pip install jupyterlab==4.6.4 pandas==3.0.6 matplotlib==3.11.2
uv pip install requests==2.34.2 beautifulsoup4==4.15.0
```

インストール後は、{ref}`setup-check`と同じ手順で環境を確認します。

(setup-troubleshooting)=
## うまくいかないとき

### Pythonのバージョンが違う、または見つからない

`py`や`python3.14`のコマンドが見つからない場合や、3.13より古いバージョンしか表示されない場合は、Python 3.14がインストールされていません。
{ref}`setup-python-version`の案内に従って、Python 3.14を入手してください。

### 仮想環境を有効化し忘れた

プロンプトの先頭に`(env)`が表示されていない状態でライブラリをインストールすると、仮想環境ではなくPC全体のPythonにライブラリがインストールされます。
仮想環境を有効化してから、`pip`コマンドを実行し直してください。

### Windowsで仮想環境の有効化がエラーになる

PowerShellの実行ポリシーにより、`env\Scripts\Activate.ps1`の実行が禁止されている場合があります。
次のコマンドで現在のユーザーの実行ポリシーを変更してから、仮想環境を有効化し直してください。

```{code-block} powershell
:caption: 実行ポリシーを変更

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```

設定を残したくない場合は、`-Scope CurrentUser`の代わりに`-Scope Process`を指定します。
この場合、設定はそのPowerShellを閉じるまで有効です。

### 確認の結果が違う

- `python --version`で使うつもりのバージョンと違うバージョンが表示された場合は、仮想環境を別のバージョンのPythonで作成しています。
  `env`フォルダを削除して、{ref}`setup-venv`の手順からやり直してください。
- `python -m pip list`の一覧にライブラリがない場合やバージョンが表と違う場合、`jupyter`のコマンドが見つからない場合は、
  仮想環境を有効化していることを確認してから、{ref}`setup-install`の手順をやり直してください。
