ずぶの素人がPythonを始めたい

## 世の中のマニュアルは日本語で書かれているとは思えないくらい難しい

まず、世の中には難しい環境構築の話が多すぎる。

 - フォルダごとに設定したら良い 
 - プロジェクトごとに変えられるように
 - 設定を保存できる
 - のちのちのためにrequirement.txtを作るんだ！

いやいや、僕らみたいな本当の初心者にはそれはいらないから、最短ルートだけ教えて下さい。という話です。
今現在の開発で要らないところでつまづいて、始められないのはもったいないと個人的には思っています。
最低限の設定をして、まがいなりにも動けば良い。

適当に準備した環境構築だと、未来的に・・とかマウントとってくる人もいるし、正しい指摘をする人もいるだろうけど、初心者がまず始めたいならとりあえずこれ！ということを書きました。早ければ10分もあればPython始められます。

*__始めよう、Python__*

とはいえ、コマンドプロンプトやBashのコマンドは少しは叩いたことがあるよ、というレベルの人向け。cdとlsとpwdくらい知ってるよ、という人ね。コマンドも1行も打ちたくないっていう人は、コードを書くことを諦めて、データロボットとかに頼りましょう。

## Windows編, Ubuntu編

### Anacondaのダウンロードとインストール

Anacondaがてっとり早い。Anacondaをダウンロードしてきてインストール。
重たいけど、入れちゃえばいい。動けばいい。
こちらの記事がわかりやすい。

[Anacondaのダウンロードとインストール](https://qiita.com/t2y/items/2a3eb58103e85d8064b6#windows-%E3%81%A7%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95)

### 仮想環境を作る

インストールしたら、AnacondaのGUIは一切使わないのが使いやすい。
結果的に僕もこれで慣れました。コマンドプロンプト(もしくはAnaconda prompt)で仮想環境を作ります。
なんで仮想環境が要るのか？って？そこら中に書いてあるのでググりましょう。

例えばpython3.7系の環境を作るなら、下記を叩くだけ。env_nameだけ自分の好みの名前にすると良い。
個人的にはversionがわかるように、py37_projectのような名前がおすすめ。

```shell
    conda create -n env_name python=3.7
```

あとは仮想環境をActivateして、自分で必要なパッケージを追加していく。
下記は一例。

```shell
    conda activate env_name
    conda install numpy matplotlib
    conda install scikit-leran
```

詳しく知りたい方は下記の記事が詳しい。

[【初心者向け】Anacondaで仮想環境を作ってみる](https://qiita.com/ozaki_physics/items/985188feb92570e5b82d)

### IDEやEditorで仮想環境を指定する

今はVSCODEかPyCharmの2択。個人的にはVSCODEの1択だけど、より設定が簡易なのはPyCharmだと思う。
launch.jsonなんて、ずぶの素人には、なにそれ美味しいの？レベルかなぁって。僕も昔はよくわからなかったよ。。
とりあえずクリックしたら動くのはPyCharmだと思う。

- PyCharm

    設定からproject interpreterを選択する。
[Pythonの開発環境メモ](https://qiita.com/mm_sys/items/8fae23d569c42453c69b#project%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E5%BE%8C%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B)が詳しい。
- VSCODE

    Pythonの拡張機能を入れればInterpreterの選択がSuggestされるし、左下のほうにあるアイコンを押しても変更できる。
[VSCodeでのPython、Jupyter実行環境の構築方法](https://qiita.com/SolKul/items/f078877acd23bb1ea5b5#python%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)に書いてあります。

### Hello, World

あとは、とりあえずmain.pyをいうファイルを作って下記を実行して動けばOK。

```python:main.py
    print('Hello, World')
```

## MacOS編

### PyenvとPyenv Virtualenvのインストール

MacはAnacondaとの相性が激烈に悪い（という噂）ので、おとなしくPyenvとVirtualenvを入れる。
一時期Pipenvがいいかも！と思ったんだけど、あっという間に更新されなくなってどこかに消えていった（と認識している）
あとPipenvは昔使っていて、いつの間に環境が壊れて、いい思い出がないというのもあります。Pipenv信者の方ごめんなさい。

Homebrewさえ入っていればコマンド一発です。
詳しく知りたい人は下記参照。

[MacOSとHomebrewとpyenvで快適python環境を。](https://qiita.com/crankcube/items/15f06b32ec56736fc43a)

```shell
    brew install pyenv
```

### Pyenvの設定

おまじないでお使いのShellの設定に追記します。
まあMacでPython動かしたいとか思うなら、このくらいは編集できたほうが良いと思う。
.zshrcか.bash_profileにこんな3行を追加しましょう。

```shell:.zshrc,.bash_profile
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
```

設定を終えたら、シェルを再起動するか、下記を実行。

```shell
    zsh -l
      or
    source ~/.bash_profile
```

### PyenvによるPythonのインストール

#### インストールできるバージョンの確認

```shell
    pyenv install --list
```

#### 所望のVersionをインストール

```shell
    pyenv install 3.7.7
    pyenv install 3.7.6
```

何種類でも入れられます。使いたいバージョンを入れておきましょう。

### Virtualenvのインストールと仮想環境の作成

#### インストール

```shell
    brew install pyenv-virtualenv
```

#### 仮想環境の作成

これで3.7.7ベースの仮想環境が作れます。

```shell
    pyenv virtualenv 3.7.7 env_name
```

あとはanacondaのほうと全く同じようにモジュールを追加できます。

```shell
    pyenv activate env_name
    pip install numpy matplotlib
    pip install scikit-leran
```

フォルダに環境を紐付けるとか、そういうおしゃれで便利なこともできるので、こちらを参照してください。

[Mac(Homebrew)でPython(pyenv/virtualenv)開発環境を作る](https://qiita.com/its/items/24f8b20aa2106819dfb3)

## まとめ

「本当に初めてPython使いたいんです。」という問い合わせが社内でもよくあります。コマンドを叩くのが精一杯です、という人にも最低限、仮想環境を作って開発してほしいという思いがあります。

はじめっからAnacondaいれて、GUIからJupyter立ち上げりゃいいじゃん、という人もいると思うし、それも正解だと思います。

ただ、大抵の場合は、最終的に.pyを作ることにはなると思うので、はじめからそこだけは準備してもいいかなと。ここまで揃えてからjupyterを立ち上げる、というのが個人的には筋が良いと考えています。

おしまい。