初めてのPython ~環境構築編~

# 対象者
プログラミング始めたいな〜と思っている**Mac使用者**の方向け


# 目次
 - [環境構築](#環境構築)
    - [pipのインストール](#pipのインストール)
        - [方法1 サイトから入手](#方法１-サイトから入手)
        - [方法２ ターミナルで全部済ませる](#方法2-ターミナルで全部済ませる)
        - [インストールの確認](#インストールの確認)
    - [jupyter notebookのインストール](#jupyter-notebookのインストール)
- [定番Hello world!](#定番Hello-world!)


# 環境構築
プログラミング始めたいな〜という人が1番最初に遭遇する難関である環境構築について、できるだけ噛み砕いて説明します。

## pipのインストール
[pip](https://pip.pypa.io/en/stable/)とはpythonを使う上で最大のメリットである**パッケージ**[^1]をターミナルからコマンド一つでインストールすることが可能になるツールです。
[自作パッケージ]()をローカルな環境で使うこともできるし、公開することもできます。
とりあえず便利なのでインストールしましょう。

**Pythonが既にインストールされていることが前提ですが、Macには標準でインストールされているはずです。されていない場合は[こちら](https://www.python.jp/install/macos/index.html)などを参考にインストールしましょう。**
**Python3がインストールされていない場合も、せっかくなのでインストールしておきましょう。**

### 方法1 サイトから入手
pipのインストールにはget-pip.pyというファイルが必要です。
これをインターネットのサイトから直接入手する方法を紹介します。
まずは[公式サイト](https://pip.pypa.io/en/stable/installing/)に移動して下の画像のget-pip.pyを右クリック(トラックパッドでは二本指でタップ)して「リンク先のファイルをダウンロードする」をクリック([直リンク](https://bootstrap.pypa.io/get-pip.py))。
<img width="512" alt="get-pip.pyのダウンロード.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640911/16d2c9aa-4071-e500-19d8-692b042e61dd.png">
次に、ダウンロードしたファイルのある階層に移動します。
ターミナルに次のコマンドを打ち込みましょう($は「ターミナルに入力する」ということを明示するためのものですので入力する必要はありません)。

```console
$ cd ~/Downloads
```
最後に、ターミナルに次のコマンドを入力すればOK。

```console
$ python get-pip.py
```

### 方法２ ターミナルで全部済ませる
これも簡単です。
次のコマンドをターミナルに順番に打ち込んで実行すればOK。

```console
$ cd
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
```

### インストールを確認
次のコマンドを入力してインストールできているか確認しましょう。

```console
$ pip -V
```
入れておきたいパッケージは[こちら](https://karupoimou.hatenablog.com/entry/%E3%81%8A%E3%81%99%E3%81%99%E3%82%81Python%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8)などを参考にして、自分が必要だと思うものを入れましょう。
get-pip.pyはもう不要なので削除しても構いません。


# jupyter notebookのインストール
初学者にオススメなのが[jupyter notebook](https://jupyter.org/)です。
理由は

+ jupyter notebookをインストールした時点で色々パッケージが入っている
+ インタラクティブ(対話)型に近い
+ エディターに迷ったり悩んだりする必要がない

などです。
中級者以上や機械学習(特に深層学習:ディープラーニング)を勉強したい！となったら[google colaboratory](https://colab.research.google.com/notebooks/intro.ipynb?hl=ja)なんかもオススメです。
とりあえずここではjupyter notebookをインストールしていきます。
次のコマンドをターミナルに打ち込みましょう。

**次のコマンドではPCに登録されている全てのユーザが使える場所にpipがインストールされます。基本的に問題はありませんが、もし今ログインしているユーザだけが使えるようにしたければ**

```console
$ pip install jupyter —user
```

**としてください。**

```shell-session
$ pip install jupyter
WARNING: The scripts jupyter-bundlerextension, jupyter-nbextension,
 jupyter-notebook and jupyter-serverextension are installed in
 '/Users/[ユーザ名]/Library/Python/[Pythonのバージョン番号]/bin' which is not on PATH.
$ export PATH="/Users/[ユーザ名]/Library/Python/[Pythonのバージョン番号]/bin/:$PATH"
```

[]の日本語部分はお使いのMac毎に異なります。
[ユーザ名]がわからない場合は次のコマンドをターミナルで実行すれば

```shell-session
$ pwd
/Users/[ユーザ名]
```

などと出るでしょう。


# 定番Hello world!
さて、ここまでで(たぶん)環境構築が完了[^2]しましたね！
ではでは、プログラミング初学者がまず真っ先にするであろうHello world!を表示させてみましょう。
まずはターミナルで次のコマンドを実行しましょう。

```console
$ mkdir my_notebook
$ cd my_notebook
$ jupyter notebook
```

するとSafari(デフォルトの検索エンジン)で下の画像のようにjupyter notebookが立ち上がると思います。
<img width="320" alt="jupyter notebook.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640911/a18773c9-9060-b1a7-9095-43417c21fff3.png">
では新規ファイルを作成しましょう。
下のGIFの通り、「New ▼ → Python3」と選択しましょう。
すると新規ファイルが出来上がります。
あとは最初のセル(入力欄のこと)に

```Hello.py
print(“Hello world!”)
```

と入力してキーボードの「Shift」キーを押しながら「Enter」キーを押しましょう[^3]。
![Hello_world.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640911/522dae46-c735-e056-3da1-a3175fa15aa4.gif)
最後に名前を変更して終了です。
![Hello.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640911/d71313d8-88cb-1ba0-b4f2-215c02eb1850.gif)
ということで、Hello Python World!


# 初めてのPythonシリーズ記事
 - [初めてのPython ~コーディング編~](https://qiita.com/kuroitu/items/8542b88d486d1dbf92a5)
 - [初めてのPython ~コーディング編2~](https://qiita.com/kuroitu/items/a59389a2e263b339b96c)
 - [初めてのPython ~課題編~](https://qiita.com/kuroitu/items/efc2f025012447555c1a)


# 参考
 - [Markdown記法 チートシート](https://qiita.com/Qiita/items/c686397e4a0f4f11683d)
 - [Qiitaで見出しアンカーへのページ内リンクを作る方法](https://qiita.com/nobuhikosekiya/items/c3a4830cbcc8fe6ec722)
 - [Qiitaでコンソール(シェル)のコマンド実行を書くときとかのコードブロック](https://qiita.com/5t111111/items/8bf740e5d1e013c415b1)
 - [pipのインストール方法](https://qiita.com/suzuki_y/items/3261ffa9b67410803443)


[^1]: 便利な関数やクラスなどが用意されているライブラリ。基本的にあらゆるやりたいことができるライブラリは既に存在しているが、勉強のためや細かなカスタマイズをするなら自作(車輪の再発明)しよう。
[^2]: できてなかったり、なにかエラーが発生して困った場合はコメントなどで教えてください🙏
[^3]: 通常「Shift+Enter」などと書かれます。