MacのPython開発環境作成メモ

#はじめに
Python環境作成時の自分用メモです。下記を参考にしました。

[Macにpyenv + AnacondaでPython環境作成の備忘録](https://qiita.com/Toyoizumi-Hiroyuki/items/a03305f290aa04e1b2f5)
[【初心者向け】Anacondaで仮想環境を作ってみる](https://qiita.com/ozaki_physics/items/985188feb92570e5b82d)
[pyenv-virtualenvを使って都合のいいように Pythonパッケージ環境を行き来する話]
(https://ensekitt.hatenablog.com/entry/2018/03/13/200000)
[Macに0からpyenv + pyenv-virtualenvでpython環境を作る](https://qiita.com/yutatakaba/items/59374418aeceb9bb624e)
#動作環境
macOS Catalina 10.15.7

#1. pyenv, pyenv-virtualenvのinstall
pyenvとpyenv-virtualenvはすでに入っていたので、実際にはinstall作業していないけれど、必要な作業は下記。

```sh:zsh
$ brew install pyenv pyenv-virtualenv
```
pyenvにPathを通す。.zshrcに以下を追加して`source .bash_profile`で設定を適用する。

```vim:vim
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
```

#2. Anacondaのinstall
pyenvでAnacondaをinstallする。

```sh:zsh
#install可能なpythonは下記で検索可能。Anacondaだけではなくいろいろ。
$ pyenv install --list

#anaconda3-5.1.0をinstall
$ pyenv install anaconda3-5.1.0

#installされたpythonのversionを確認
$ pyenv versions
* system (set by /Users/user/.pyenv/version)
  anaconda3-5.1.0
```

#3. virtualenvを作成する
`pyenv virtualenv installしたpython 環境名`で環境を作成する。

```sh:zsh
$ pyenv virtualenv anaconda3-5.1.0 anaconda3-510env
#installされるパッケージの名前とかいろいろ出てくる
```
workディレクトリにvirtualenvをあてる。

```sh:zsh
$ pyenv versions
  system
* anaconda3-5.1.0 (set by /Users/user/.pyenv/version)

#Anacondaをglobalに切り替え
$ pyenv global anaconda3-5.1.0 

#workディレクトリを作成する。プロンプトの前に現在のpythonの環境が出てくる。便利
(anaconda3-5.1.0) $ mkdir anaconda3-510env
(anaconda3-5.1.0) $ cd anaconda3-510env

#workディレクトリにanaconda環境をあてる。workディレクトリに移動するとanacondaが使えるようになる
(anaconda3-5.1.0) $ pyenv local anaconda3-5.1.0
(anaconda3-5.1.0) $ pyenv versions     
  system
* anaconda3-5.1.0 (set by /Users/user/anaconda3-510env/.python-version)

#condaで仮想環境を作る
(anaconda3-5.1.0) $ conda create --name py36 python=3.6
(anaconda3-5.1.0) $ pyenv versions
  system
* anaconda3-5.1.0 (set by /Users/user/anaconda3-510env/.python-version)
  anaconda3-5.1.0/envs/py36

#py36用のworkディレクトリを作成
(anaconda3-5.1.0) $ mkdir py36
(anaconda3-5.1.0) $ cd py36

#py36workディレクトリにpy36環境をあてる
(anaconda3-5.1.0) $ pyenv local anaconda3-5.1.0/envs/py36
(anaconda3-5.1.0/envs/py36) $ pyenv versions
  system
  anaconda3-5.1.0
* anaconda3-5.1.0/envs/py36 (set by /Users/user/anaconda3-510env/py36/.python-version)

#ディレクトリを移動するとpython環境が変わる。すごい、便利
(anaconda3-5.1.0/envs/py36) $ cd ../
(anaconda3-5.1.0) $ pyenv versions
  system
* anaconda3-5.1.0 (set by /Users/user/anaconda3-510env/.python-version)
  anaconda3-5.1.0/envs/py36

#systemをglobalに戻す（必要に応じて）
(anaconda3-5.1.0) $ pyenv global system
```

#4. Jupyter Notebookの設定
condaで作成した仮想環境py36にはJupyter Notebookが入っていない。Jupyter Notebookのカーネルを設定する上で必要なので、インストールして諸々設定を行う。

```sh:zsh
#py36環境にjupyterをinstall
$ cd py36
$ pip install jupyter

#baseに戻って、environment_kernelsをinstall
$ cd ../
$ pip install environment_kernels

#設定ファイル作成
$ jupyter notebook --generate-config
Writing default config to: /Users/achi/.jupyter/jupyter_notebook_config.py
$ echo "c.NotebookApp.kernel_spec_manager_class = 'environment_kernels.EnvironmentKernelSpecManager'" >> ~/.jupyter/jupyter_notebook_config.py
$ echo "c.EnvironmentKernelSpecManager.conda_env_dirs=['/Users/user/.pyenv/versions/anaconda3-5.1.0/envs/']" >> ~/.jupyter/jupyter_notebook_config.py
```

Jupyter Notebookを開いて、設定した環境が出てきたら設定完了。
![スクリーンショット 2021-02-20 23.46.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1123801/178be094-991e-e90d-e659-9df4b379afc1.png)

お疲れ様でした。