Windows10 に Python 学習環境を構築する

# Python を Windows10 で学ぼうと思ったら
　王道を３つに整理しました。
　Windows 特有の注意点を含むまとめが少ないので「Windows10 に」というタイトルにしましたが、大枠は MacOS でも同じです（Windows 特有の注意点がMacの人には関係ないだけ）。

　まず、「王道」のメリットを全力で確認しておきます。心が途中で「やっぱこれじゃだめかな？」とか戸惑うと良くないので！

### 王道最高：一番早く Windows10 で Python が使えるようになる！
　自分はこうだから、今はこういうアプリを使ってるから、こういう風に構築したいから、とか独自の事情を考えるより（←自分のことですが）、王道から選んで突っ走ったほうが早くて確実です。「Anaconda は重いらしい」とか「PyCharm でずっとやっていくのは微妙らしい」とか言ってる場合じゃないです（←自分のことですが）。王道最高です。
　色々な環境構築情報が気にな人（←自分）。
　まずは深く考えすぎないで、とにかく王道でやってみるのが良いはずです。早く学習開始するのが一番いいことに決まってる！

### 王道最高：一番早く「Python でやりたかったこと」が出来るようになる！
　基礎に触れて学習した後、初心者を卒業する頃に「よーしやるか」って環境のことを考えなおせば、それで良いに決まってます。全部触って、すぐに学習を開始して、とっとと成長して、最後に自分のためにカスタマイズした環境を用意する。最短距離。きっと。
　王道を行けば結局最終ゴールへ猫まっしぐらに早くたどりつく！　はず！

# 王道をＧＯ！

　すっきりしたところで、さっそく王道を進んでいきます。

## Windows10（ローカル）での Python 学習に必要なもの
1. Python本体
- 開発環境・学習環境（操作画面）
- ライブラリ（パッケージとも言う、pandasとかmatplotlibとか）
- 何が今どこにあるのかっていう理解

　最初の「Hello World!」は「Python本体」とコマンドプロンプトでやれば出来ます。でもライブラリ管理に突入すると管理画面が欲しくなってきます。そして管理画面を使い始めるともう戻れなくなります。学習の進捗に合わせて、都度環境をアップグレードしていくというのはストレスがたまるものなので、多分、なので、王道の人は最初から全部用意してＧＯで良いんじゃないか。と思いました。

　迷いがなくなったところで、どんどん行きます。

# ３つの王道
　まずざっくり。どれかでもいいけど、全部やればいいという結論を押し付ける形で進行。何が自分にとって最適かなんて、後から振り返らなきゃわかんないはずだから。これだけ用意しておけば、どの教科書にも、どのTipsにも対応できる。学べる。やれる。というわけで、どんどん行きます。

1. Python本体を入れる
- Anaconda を入れる
- PyCharm を入れる

## 1. Python本体を入れる：概要
- 任意の場所に「c:\pyton\python.exe」のようなデータを入れる感じ、すごく普通
- 生のPythonが入るだけなので、バージョンアップやライブラリの追加は自分でやります
- 敢えて古いバージョンのままにしておいたりも出来るところがメリット
- 操作に使う画面は黒いターミナル画面（コマンドプロンプト的な）
    - 単に開くと権限が「ユーザー」になるので pip install とか最初歩から失敗する
    - これはWindowsでメニュー右クリック→管理者権限で開けばＯＫ
    - Windows ユーザーたるもの PATH には常に注意したい

## 2. Anaconda を入れる：概要
- 任意の場所に「c:\Anaconda3\python.exe」のようなデータを入れる感じ
- Python本体だけ入れた時の python.exe とは別個体の python.exe が Anaconda の中に入っているので、２つの別々の Python を使える状態になる（バージョン違いとか）
- ライブラリ（パッケージ）が最初からインストールされている、追加・削除も楽
- 開発環境 Anaconda Prompt で黒いターミナル画面を体験できる
    - 単に開くとユーザー権限なので pip install とか失敗したりする
    - Windowsではメニュー右クリック→管理者権限で開く必要あり
- 開発環境 Jupyter Notebook、Spyder で話題の開発画面をひととり体験できる
    - Jupyter Notebook は教科書とかに出てくるから触りたい感じ100％
    - Spyderは、Progateとかの「WEB入力学習」体験者には嬉しい見た目
- Anaconda Navigator でライブラリを一覧管理可能、ライブラリのことがよくわかる
    - ライブラリの親子関係も、ちょっと理解しやすいかも
- 勉強が終わって不要になったらアンインストールしてもＯＫ
    - Anaconda内部にあったものは消える
    - 本体 Python をインストールしていれば、そちらは関係ないので残る
- もちろんまた気になってきたら再インストールしてもＯＫ
- 本体 Python と Anaconda の Python は違うと認識しながら使う！

## 3. PyCharm を入れる：概要
- PyCharm（Python のために作られた統合開発環境）をインストール
- 入力予測でどんどん綴りが出てきて素早く間違いなく書けるのでやみつき感100％
- 望ましくない記述は赤い波線とかで教えてもらえるので勉強になる
- 説明は英語だが、Google翻訳でだいたいわかるし、そのまま検索すると英語のStackOverFlowが出てきてむしろ便利（まだ日本語の情報がWEBには少ないので）
- Python用なので最初から設定で困ることはない、Python 用の拡張が不要
- ライブラリ管理も当然できる、Pythonっぽいことは全部できる
- 単純なテキストエディタとは違い、ボリュームのあるプログラムもガツガツ作れる、デバック、GitやGitHubを使ったバージョン管理等、プログラミングの統合開発環境に通常入っているものは全部入っていて、統合開発環境として使うための機能を後から追加する必要が全くなく、ひたすら Python に集中できる
- 汎用的な統合開発環境で Python を使えるように設定するより早く確実！
    - 本体 Python を使ってもいい、 Annaconda Python を使ってもいい、接続の問題
    - 最終的には IDE を知ると便利だから、意味わからん時から触ってみて損は無い

　他の方法、VS Code、Atom、Sublime Text 等は周辺の設定事項があり、且つ「WindowsユーザーはMacOSユーザーとは微妙に違うところある件」を無視できないので、全部試しちゃったけど（←ばかだね）、2019年4月現在では王道ではないと思いました。初心者脱出してからチェックすればＯＫってことで。

　Python学習に集中すること、そしてとっとと Python を使いこなせるようになること、その優先度が一番高いに決まっています、多分。後のことは後でやればいいです。

　迷いがなくなったところで、どんどん行きます。

# 王道インストール３本ノック

どんどん行きます。

## インストール先のディレクトリ（フォルダ場所）について
- 現在ログインしているWindowsユーザーだけが使えるようにする
    - ユーザーディレクトリの下にインストール
    - 「c:\Users\(ユーザー名)\」の下にインストールされる感じ
- 同じPCを使う全Windowsユーザーが使えるようにする
    - c:\ など上の階層（ユーザーディレクトリの外）にインストール

　ここを押さえて次へＧＯ


## 1. Python本体を入れる：インストール方法
<a href="https://www.python.org/downloads/" target="_blanc">Python公式からDL</a>

- インストールすると、インストール先に Python のフォルダができる
- プログラミングソフトでそこにアクセスして使うことになる
- インストール時のチェックボックスの意味は下記
    - Install launcher for all users (reccommended）：チェックすると全ユーザーが使える場所にインストールされる（例）「c:\python\」、その場合は管理者権限が必要、好みの問題もあるが自分はユーザー変更する可能性があるのでチェックする
    - Add Python 3.6 to PATH：チェックするとWindowsのコマンドプロンプトを起動した時にすぐ今回インストールした場所にある Python が使える（操作できる）ように環境変数（コマンドプロンプトの接続先みたいなもの）が設定される、好みもあるがネットには「コマンドプロンプトで～」という話がよく出てきて使えたほうが楽なのでチェックする、環境変数は後で必要に応じて変更可能

- 「インストールした Python のバージョン」、「どこにインストールしたか（全員が使える場所か、現在のWindowsログインユーザーだけが使えるユーザーディレクトリ以下か）」、「環境変数（PATH）はどうなってるか」を理解した状態でインストール完了
- コマンドプロンプトから動かせない場合（-vできない、pipできない等）
    - 環境変数（PATH）問題を確認
    - コマンドプロンプト（管理者用）問題を確認
       - 最初が「C:\Users\(username)>」ならユーザー環境
       - コルタナさんアイコンから「コマンドプロンプト」検索
       - いきなり開かず右クリックすると管理者用で入れる
    - Power Shell でもコマンドプロンプトと同じ
       - タスクバーのWhindowsマークを右クリック
       - タスクバーの設定がデフォルトどおりなら Power Shell がメニューから開けるが「Windows Power Shell」も「管理者用」を選べば管理者権限で開ける
    - プロクシ問題を確認

- 注意点１：Python本体をインストールするだけでも、PATHを通してコマンドプロンプト等で操作すれば簡単なPython学習は開始できるので、王道の中では一番手軽な方法です。ただし勉強を進めていくと pip とか venv とか色々な言葉が登場して、構築作業で詰むかもしれません。黒いターミナル画面の操作にまだ詳しくない人は、基礎からしっかり、黒いターミナル画面を使い、ライブラリをインストールし、仮想環境を作り、統合開発環境もバージョン管理も使いこなしていくという成長を遂げられそうなら、このコースで遠慮なくのびのび成長してＯＫなのですが、あまりにも時間が Python とは関係ないところで溶けそうだと感じたら、一旦本体 Python と一緒にイチから成長することを諦めて Anaconda や PyCharm に進むと良いと思います。大丈夫。自分は悪くない。早くPythonをやりたいだけだ。って呟きながら。
- 注意点２：後からPATHを変更すると（Path を切ると）、インストールした Python 本体とコマンドプロンプトを使ってもう一度勉強を再開しようとした時に、「あれっ使えない」ってことになります。改めて Python本体 をインストールした場所にPATHを通せばＯＫです。
- 注意点３：くどいですが、ここでインストールした Python本体 は、この後紹介する方法でインストールするようなもの（Anaconda の Python とか）とは別のもので、別のところにあります。それぞれ別バージョンにしておいたりもできます。

Python本体を入れる場合の細かいインストール手順おすすめ記事
<a href="https://techacademy.jp/magazine/15571" target="_blanc">まずはここから！Pythonのインストール方法【初心者向け】‐ TechAcademy</a>

## 2. Anaconda を入れる：インストール方法
<a href="https://www.anaconda.com/distribution/" target="_blanc">Anaconda公式からDL</a>

- インストール先に Anaconda3 のフォルダができる
- その中に Python.exe が入る（別途Python本体のみインストールしている場合、それとは別に Anaconda の中に生まれる）
- いろいろ全部まとめてインストールされるので重い、親切が過剰という説もあり
- しかし最初からライブラリが一気にドンと乗るのは初心者には悪くない
- Anaconda に入っているもの
    - Python本体（1.の方法でインストールした本体とは別個体の大蛇）
    - Anaconda Navigator（操作ソフト/各種ライブラリ管理/学習コンテンツ/コミュニティ紹介が入った案内ソフト）
        - ライブラリ群（pandasとかmatplotlibとか）、これはAnaconda Navigator でわかりやすい一覧で「インストール済」等の状況がパッとわかるようになっていて、あとから削除したりインストールしたり管理できる
        - Anaconda Prompt（コマンドプロンプト的黒画面、ユーザー環境で開くと出来ないことがあるのはコマンドプロンプトと同じ）
        - Jupyter Notebook（元IPython、教科書に出てたりするやつ）
        - Spyder（科学用途のプログラミングを想定した統合開発環境、シンプル）
- インストール時のチェックボックスの意味は下記
    - Install for : Just Me (recommended)　→　ユーザー環境下にインストール
    - Install for : All Users (requires admin privileges)　→　c:\ とかユーザー横断の公共環境下にインストール、自分は個人用ＰＣでユーザーは変更可能性があるのでこっち
    - Destination Folder　→　インストール先、自分は c:\ の直下近くを選択
    - Advanced Options
       - Add Anaconda to my PATH environment variable　→　チェックするとWindows標準のコマンドプロンプトから「AnacondaのPython」にアクセスするようにPATHを設定してくれる
        - 「Python本体だけ入れる」をやった人は選択しなくてＯＫ（入れてある Python に PATH が通してあるはずだから、ここで「AnacondaのPython」にPATHを通す必要はない）
        - 今後別途「Python本体」を入れる可能性がある人もチェックする必要なし
        - ほとんどの人は「Python本体はPython本体、Anaconda内のPythonはAnaconda内のPython」で別れていて困らないはずなのでチェックする必要なし（くどいか）
       - Register Anaconda as my default Python →　Anaconda をデフォルトのPython用ソフトにしますかって感じだが、上記PATH同様、たぶん誰もが「Anaconda のみにて生きるにあらず」って感じだと思うので、余計な設定にならないようにチェック外しておけばＯＫ
       - ただし Anaconda だけインストールした状態で、「Python本体は無い」人が、後で「Pythonが使えるようになったぜ」と思ってWEB上の記事をあれこれ読み、「コマンドプロンプトでこの操作をしろ」と言われてやってみたけど思ったような結果が得られないと言うことはあり得る、自分がどこにどのPythonをインストールしているのか意識的に！
       - Anaconda にいろいろおまかせしすぎて、いよいよ別途本体だけインストールした Python をコマンドプロンプトから操作しようとしたら、全くうまくいかなくてよくわからなくなっちゃった場合は、そっと Anaconda を一度アンインストールすればＯＫ、次にインストールする時は PATHも通さない、my default Python にしない
       - この「やりなおせる感じ」が初心者には嬉しいのでは？ 多分

- 一緒におすすめされる VSCode(Visual Studio Code) はひとまず不要
    - VS Code は最高だけど、初心者はあれこれ設定しなくちゃならないので、特にデータサイエンティスト志向なら不要なのではと思う
    - VS Code のインストール先は聞かれなかった気がするけど、オールユーザーでAnaconda 使うって言ってＣドライブ直下に Anaconda をインストールする人でも、ここで VS Code を一緒にインストールするとユーザーフォルダ下にインストールされる（ような気がする）
    - VS Code は Anaconda Navigator からも、自分でWEBからダウンロードしても後からいくらでも自由に入れられるので焦らなくても良い（自分は後から Anaconda Navigator で入れたのかなあ、それでユーザーフォルダ内になったのかなあ）
    - くどいけど、Python 専用じゃないので王道には入れませんでしたっ
    - Windows + VS Code + Python は初心者にはまだマゾの道らしい
    - 初心者は Anaconda に入ってる Jupyter Notebook で勉強したり、PyCharm を使ったほうが少ない環境構築労力ですぐに勉強できると思う

Anaconda で入れる場合のインストール手順おすすめ記事
<a href="https://techacademy.jp/magazine/15703" target="_blanc">より効率よく開発できる！AnacondaでPythonの環境を構築する方法</a>

## 3. PyCharm を入れる：インストール方法
<a href="https://www.jetbrains.com/pycharm/download/#section=windows" target="_blanc">JetBrains公式からDL</a>

- PyCharm で Python を入れると、あれこれ詰まずに急に Python のリッチなプログラミング環境が整う
- インストールで詰まることは無いと思う（ここまでやってきたなら平気）
- 使い方については、慣れていなければ調べる必要があるかも
- なんだかんだで渋々 InteliJ を使っていくと最後はクセになるはず
- ばっちり動くので結局好きになるはず

- 注意点１：PyCharm で新しい Project を作成するとき、「Create New Project」をクリックすると場所を指定できるが、その下の「▶Project interpreter: New Virtualenv environment展開」をクリックすると仮想環境（Virtualenv environment）をどうするのかというメニューが出てくる。
- 注意点２：上記メニューで「New environment using」→「Virtualenv/Pipenv/Conda」から選択、または「Existing interpreter」で既にあるインタプリタを利用、から選べる
    - 本体Python や Anaconda の Python を元に仮想環境を作って開始
    - Python のバージョンやライブラリのインストール状況が違うはず
    - PyCharm 内の設定でも後から色々変更したりプラグイン追加したりできる


# 学習開始！
　環境は整ったのでガツガツ学習！　ガツガツ！

仮想環境について曖昧だと詰みそうなので、最初は仮想環境について調べると吉かも。

参考：<a href="https://maku77.github.io/python/env/virtualenv.html" target="_blanc">Python の実行環境を切り替えて使用する (virtualenv) - まくまくPythonノート</a>

あと PyCharm の公式：
<a href="https://pleiades.io/help/pycharm/creating-and-running-your-first-python-project.html" target="_blanc">ステップ 1. 最初のPythonプロジェクトの作成と実行 - PyCharm ヘルプ
</a>

　PyCharm については、「Android Studio も使ってるし、同じような IDE ばっかりインストールするのもなあ」と最初は心が抵抗してたのですが、結局インストールしたら「やっぱこれだな」となってます。Python やるときに Python に特化してるって本当に楽だなあとしみじみします。しみじみ。