Python3の環境構築（初心者向け）

# 1. はじめに
## 1-1. 作成日
2020-01-15

## 1-1. Python3の最新バージョン
- 2019年04月時点での、最新は「Python3.7.3」
- 2019年11月時点での、最新は「Python3.8.0」
- 2019年12月時点での、最新は「Python3.8.1」

## 1-2. 構築する環境について
- 今回インストールするPython3のバージョンは "Python3.8.1" です。
- 最新のバージョンがリリースされたら、適時読み替えて下さい。
- 開発環境は" Jupyter Notebook "を使います。

## 1-3. 大きな流れ

- 2章：Python3のインストール
- 3章：仮想環境の説明と構築
- 4章：Jupyter Notebook のインストール


# 2.Python3のインストール
## 2-1. Windows
### 2-1-1. インストール
Windows10に公式インストーラを使ってPython3.8.1をインストール。

#### 手順
1. [Python公式サイト（Windows）](https://www.python.org/downloads/windows/)へアクセスします。
2. Stable Releases(安定版)をダウンロードします。
3. ダウンロードしたインストーラをダブルクリック--> インストールダイアログが表示されます。
4. インストールダイアログの途中で "Add Python 3.X to Path" のチェックボックスにチェックを入れます。
5. "Install Now" をクリックすると、インストールされます。

#### 手順2 ダウンロードの詳細
Stable Releases(安定版)をダウンロードしてください。
"Download Windows x86-64 web-based installer" をクリックするとダウンロードが開始します。
"python-3.8.1-amd64-webinstall.exe" というファイル(インストーラ)がダウンロードされます。
<img width="315" alt="キャプチャ１－１.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133593/874e94a9-c81c-7218-21a3-efd3c321e336.jpeg">

### 2-1-2. インストールが完了したことの確認

#### 手順
1. コマンドプロンプト or パワーシェルを起動
2. Pythonのバージョンを確認
3. Pythonの対話モードへ入れるか確認

#### 手順1 シェルの起動の詳細
1. [Win］＋［R］キーを押下 --> "ファイル名を指定して実行" ダイアログが表示されます。
2. "cmd" と入力して"OK"ボタンを押下
3. または、"powershell" と入力して"OK"ボタンを押下

#### 手順2 Pythonのバージョンを確認の詳細
``` 言語:以下のコマンドを入力
> python -V
```

``` 言語:以下のように出力（表示）されればOK
Python 3.8.1
```

#### 手順3 Pythonの対話モードへ入れるか確認の詳細
``` 言語:以下のコマンドを入力
> py
```
``` 言語:以下のように出力（表示）されればOK
Python 3.8.1 ...(日付などの情報（インストールしたバージョンや環境によって異なる))
Type "help", "copyright", "credits" or "license" for more information.
>>>
```
">>>" と表示されていればOKです。
この対話モードの状態で、Python3のプログラムを入力し "Enter" するとプログラムが実行されます。
対話モードを終了するには、"quit()" or "[Ctrl]+[z]+[Enter]" です。

## 2-2. macOS
### 2-2-1. インストール
- デフォルトでPython2.7がインストールされています
- 近い将来に、Python3.Xに置き換わるかもしれません
- これは、macOSがPythonを使ったツールを使用しているためです
- ここでは、Python2.7と共存する形でPython3.Xをインストールします
- macOS 10.9以降のバージョンに公式インストーラを使いインストールします、

#### 手順
1. [Python公式サイト（macOS）](https://www.python.org/downloads/mac-osx/)へアクセスします。
2. Stable Releases(安定版)をダウンロードします。
3. ダウンロードしたインストーラをダブルクリック--> インストールダイアログが表示されます。
4. 指示に従ってインストールします。
5. macOSのSSLルート証明書の利用を許可します。

#### 手順2 ダウンロードの詳細
Stable Releases(安定版)をダウンロードしてください。
"Download macOS 64-bit installer" をクリックするとダウンロードが開始します。
"python-3.8.1-macosx10.9.pkg" というファイル(インストーラ)がダウンロードされます。
<img width="283" alt="キャプチャ２.JPG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133593/44d0c9ca-4880-46dc-9b47-cb9116fd82ca.jpeg">

#### 手順5 macOSのSSLルート証明書の利用を許可の詳細
``` 言語:ターミナルを起動して
$ cd /Applications/Python\ 3.8/Install/
$ ./Install\ Certificates.command
```

### 2-2-2. インストールが完了したことの確認

#### 手順
1. ターミナルを起動
2. Pythonのバージョンを確認
3. Pythonの対話モードへ入れるか確認

#### 手順2 Pythonのバージョンを確認の詳細
``` 言語:以下のコマンドを入力
> python3 -V
```

``` 言語:以下のように出力（表示）されればOK
Python 3.8.1
```

#### 手順3 Pythonの対話モードへ入れるか確認の詳細
``` 言語:以下のコマンドを入力
> python3
```
``` 言語:以下のように出力（表示）されればOK
Python 3.8.1 ...(日付などの情報（インストールしたバージョンや環境によって異なる))
Type "help", "copyright", "credits" or "license" for more information.
>>>
```
">>>" と表示されていればOKです。
この対話モードの状態で、Python3のプログラムを入力し "Enter" するとプログラムが実行されます。
対話モードを終了するには、"quit()" or "[control]+[d]" です。

# 3.仮想環境の説明と構築

## 仮想環境の説明
- 1つのコンピュータの中に複数のPythonの実行環境を構築することができます。
- Pythonのバージョンやライブラリのバージョンを複数実行できるようにすることも可能です。
- 例) XとYと言う２つのPythonプログラムを開発しているとして、それぞれで、使用するバージョンが違う場合に役に立ちます。

[仮想環境の参考サイト](https://blog.codecamp.jp/programming-python-virtual-environment)

## 仮想環境の構築
### 仮想環境
Pythonの仮想環境は、特定の場所に配置したフォルダの単位で作られます。
例えば、```C:¥env_test¥``` に仮想環境を構築したら、```env_test``` フォルダの配下に、ライブラリなどが配置されます。

### 仮想環境の削除
仮想環境のフォルダを削除（ゴミ箱へぽい）。

### 仮想環境構築場所のコツ
仮想環境は開発するソフトウェアの数分（たくさん）構築することになります。
どこにPython3の仮想環境を構築したか分からなくならないように、
Python3の仮想環境はココ！という場所を１つ作って（フォルダ）、
その配下に仮想環境を構築することをお勧めします。
私は、
``` C:¥Users¥hoge¥Documents¥dev¥python ```
をPython3の開発環境（仮想環境）フォルダと決めて運用しています。

### 仮想環境の構築
コマンドプロンプト(windows) or パワーシェル(windows) or ターミナル(macos)を起動します。

今回は、
``` C:¥Users¥hoge¥Documents¥dev¥python ``` に ``` env_wk ``` という名前の仮想環境を構築します。

まずは、仮想環境を構築するフォルダへ移動します。

``` 言語:以下のコマンドを入力（フォルダの移動）
> cd C:\Users\hoge\Documents\dev\python

macosなら
$ cd C:\Users\hoge\Documents\dev\python
```

``` 言語:以下のコマンドを入力（仮想環境構築）
> python -m venv env_wk

macosなら
$ python3 -m venv env_wk
```

### 仮想環境の有効
仮想環境を構築しただけでは、あまり意味がありません。
構築した仮想環境を有効化します。

構築した仮想環境へフォルダ移動します。（移動済みなら不要）

``` 言語:以下のコマンドを入力（フォルダの移動）
> cd C:¥Users¥hoge¥Documents¥dev¥python

macosなら
$ cd C:\Users\hoge\Documents\dev\python
```

``` 言語:以下のコマンドを入力（仮想環境を有効）
> env_wk¥Scripts¥Activate.py
または
> env_wk¥Scripts¥Activate.bat

macosなら
$ cd env_wk\bin\
$ source ./activate
```

有効化すると、```(env_wk) >``` とプロンプトの前に仮想環境のフォルダ名が表示されます。

``` 言語:仮想環境が有効になると以下のように表示される
(env_wk) C:¥Users¥hoge¥Documents¥dev¥python>  
```

### 仮想環境の無効化
仮想環境の無効化は ```deactivate``` コマンドを実行します。
プロンプトが標準の表記に戻り、仮想環境から抜けたことがわかります。

``` 言語:以下のコマンドを入力（仮想環境を無効）
(env_wk) > deactivate
```

### 仮想環境の注意（その1）
仮想環境を構築したフォルダ（今回だと、env_wk）を、
別のフォルダへ移動するのは止めた方が良いです。
一度、仮想環境を作ったら、一生そのフォルダ階層を守って開発してください。
ハッキリ言ってロクなことが無いです。
私は、うっかりフォルダを引っ越ししてしまい、
pipが仮想環境内のpipが使われずに、グローバル環境のpipが使われてしまうようになりました。
``` venvコマンド ``` の公式マニュアルを軽く見た感じフォルダ移動しても良い。
という記載は見つかりませんでした。
じゃぁ、開発しているこの仮想環境を別のフォルダに移動したい場合や、
別のマシンへ引っ越ししたいときはどうするか？

requirements.txtを使います。

```
ファイル出力しておいて
$ pip freeze > requirements.txt
これで一括インストール
$ pip install -r requirements.txt
```

### 仮想環境の注意（その2）
ソースファイルは、env_wkフォルダ配下に置かない方が良い。
Visual Studio Codeでデバッグ実行するときに嵌ります。
私は、このようなフォルダ構成で開発しています。

project_foldar（任意の名前）/
　├ env_wk/
　├ src/
　│　└ main.py ← ソースファイル
　
兎に角、ソースファイルと仮想環境のフォルダ(env_wk）は別の階層のディレクトリに分けます。

# 4.Jupyter Notebook のインストール
## インストール

仮想環境を有効にして、以下のコマンドを入力します。

``` 言語:以下のコマンドを入力
(env_wk) > pip install jupyter
```

もし失敗してしまった場合は、以下のコマンドを入力してから再トライしてください。

``` 言語:以下のコマンドを入力
(env_wk) > pip install -U pip
```

## Jupyter Notebook の起動

``` 言語:以下のコマンドを入力
(env_wk) > Jupyter Notebook
```

Webブラウザが起動し、```Jupyter ``` の画面が表示されれば成功です。

# 機能の追加
機械学習やデータ解析の分野で使用される定番ライブラリ（機能）は以下の通りです。
- Numpy(数値計算を効率的に行うための機能)
- SciPy(数学、科学、工学のための数値解析機能)
- pandas(データ解析を支援する機能機能)
- matplotlib(グラフを描画するための機能)
- scikit-learn(機械学習のための機能)

一気にインストール（機能を追加）しておいてください。

``` 言語:以下のコマンドを入力
(env_wk) > pip install numpy scipy pandas matplotlib scikit-learn
```

# その他の参考記事
余裕があれば以下の記事も参照してください。
[世界一簡単なPython3の導入](https://qiita.com/oyan29/items/29d0958a648c0e835340)