【初心者向け】PythonとJupyterの環境構築手順2021年版(Windows編)

# 前提

- 本記事は**Windows**ユーザーが対象となります
- デフォルトの状態から環境構築していきます。コマンドプロンプトではなく今回はpowershellを使用します。
- Macの方は[こちら](https://qiita.com/Nate0928/private/40bc828fa4ef28fa560e)を参照ください。 

#はじめに
Windows上にPythonでのデータ分析環境を整えることを目的とします。
ひとまず、MacにPython3系をインストールしてJupyter Notebookで作業できるようにすることを目標にします。Jupyter Notebookとは、ブラウザ上で動作するPythonの対話型実行環境です。
以下の2種類の方法を紹介します。

- 手っ取り早く始めたい方向け
- 長く使い続けたい方向け

#手っ取り早く始めたい方へ
手っ取り早く始めた方は、AnacondaさえインストールしてしまえばOKです。
Pythonそのものとデータ分析でよく使われるライブラリを一括で管理できるパッケージです。これを入れておくとひとまず必要なモノはすべてそろうので、**ある意味**オススメではあります。
ただ、Anacondaというものは、Python環境をそれひとつで形成しきってしまっているため、その外部のことをやろうとすると、途端に難しくなります。（筆者の感想も入ってます）
例えば、Anacondaのパッケージ管理ツールのcondaではインストールできないものが多々あります。初心者だと無理矢理ほかのツール(`pip`など）でいれてしまい、環境が壊れてしまうという悲しいことも起こりえます。
ただメリットも多いため、しっかりとデメリットを意識して使いましょう。

## anacondaのインストール
下記公式ページに沿ってインストールしましょう。

[こちら](https://docs.continuum.io/anaconda/install/windows/)



#長く使い続けたい方へ

## Pythonのインストール
Macとは異なり、Windowsには最初からPythonは入っていません。
まずPython公式ページにアクセス。

[Python.org](https://www.python.org/)

Dowonlodsからwindowsを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571279/b250866d-f959-09cb-2b6c-748d610664a2.png)

インストーラの形式にも色々ありますが、実行ファイル形式が楽なので今回は「Windows x86-64 executable installer」を選びます。ヴァージョンは私は3.9にしました。

ダウンロードしたファイルを開くとこのようなウィンドウが出ます。
「Add Python to Path」にチェックを入れるとパスの書き込みも行ってくれるので、チェックを入れましょう。後から自分でやるのは少しめんどくさいですよね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/571279/be9a330d-2290-db12-09ec-792b716b2c1a.png)

```powershell
> python -V
```
`Python 3.9.0`と表示されれば問題ないです。

これで

```powershell
> python
```

と入力すればpowershellでPythonが使用できるようになります。
抜けたいときは`Ctrl + z `です。

## poetry
つぎにpoetryを使ってPythonのモジュール管理を行います。poetryはディレクトリ下に仮想環境を作ってくれるため、必要なモジュールはその都度入れる必要がありますが、環境を簡単に使い分けられ、他人と環境の共有も容易なためおすすめです。いらなくなったらすぐに環境ごと消せるためストレージにも優しいですね。
公式ドキュメントは[こちら](https://python-poetry.org/)
日本語版もありました。[こちら](https://cocoatomo.github.io/poetry-ja/)
### インストール
スタートメニューからPowerShellを検索し、起動して下記を実行してください。
インストールが開始されます。

```powershell
> (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
```

powershellを再起動し、

```powershell
> poetry --version
```
ヴァージョン情報が表示されたら問題ないです。
### パッケージ管理方法
新しい作業ディレクトリを作成し、移動したら下記コマンドで新規の環境を構築します。

```powershell
> poetry init
```
対話形式でいくつかの質問に答えていくと環境が作られます。ここでモジュールを入れ忘れても後から追加できるので大丈夫です。

今回はnumpyとpandasをいれます。

```powershell
> poetry add numpy pandas
```
バージョン指定をしたい場合は下記

```powershell
> poetry add pandas==1.2.4
```

## Jupyter
データ分析に必須のツール、jupyter環境を入れていきます。
個人的にはjupyterlabがおすすめですが、初心者はnotebookでもいいと思います。

```powershell
> poetry add jupyter
```
容量が大きいため、少し時間がかかると思います。

### 起動
jupyter notebookを起動します。jupyter labも同様にして起動できます。

```powershell
> poetry run jupyter notebook
#もしくは
> poetry shell
#で環境内に入って
> jupyter notebook
```

## poetryの便利なその他のコマンド

```powershell
# poetry自身のアプデ
> poetry self update

# poetry内の.pyファイルの実行
> poetry run python hoge.py

# 環境内に入る(出る時はexit)
> poetry shell
```

###　追記
windowsでpoetryを使用するとエラーが出る場合があるそうです。
こちらの記事をご参照ください。
[Poetryでwhl does not existとなる問題への対処](https://qiita.com/radiol/items/a27530fd33b7e4758e6d)

## 最後に
Googlecolabも非常に強力ですが、最初から環境が用意してあるがゆえに、中で何が行われているか理解しにくいです。ローカルに一度でも環境を構築した経験があれば、この先も非常に強い武器となります。ぜひ臆せず挑戦してみてください。質問はいつでも受け付けています。