[Python] Anacondaとpyenvとvirtualenvと.bash_profileと

#2018/01/03 更新
Macが壊れてしまいまして、最初からPython環境を構築していたところ
pyenvにvirtualenvなんてねーよ！！って、terminalさんに叱られてしまったので
pyenv installの際にpyenv-virtualenvもinstallするように追記しました。
virtualenv deleteできなくなっていたので、pyenv uninstall virtualenv_nameに修正。

#はじめに
Anacondaの環境でpyenv-virtualenvを使用していて
python -Vで確認してみるとPython versionが固定されてたり
terminalの行に(virtualenv_name)がずっとずっと表示されてdeactivateできなかったりしてませんか？
はい、私です。

で、Qiitaの紳士淑女な皆様方の記事を参考にやっとPythonの環境をコロコロ変更できるようになったので、
MEMO用にまとめた記事です。

参考にさせていただいた記事
[Markdown記法 チートシート](http://qiita.com/Qiita/items/c686397e4a0f4f11683d)
[HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ](http://qiita.com/oct_itmt/items/2d066801a7464a676994)
[pyenv-virtualenvでディレクトリ単位のpython環境構築](http://qiita.com/niwak2/items/5490607be32202ce1314)
[virtualenv 基本的なコマンド使い方メモ](http://qiita.com/th1209/items/84f21a4499548b34ec91)
[pyenvとvirtualenvで環境構築](http://qiita.com/Kodaira_/items/feadfef9add468e3a85b)
[データサイエンティストを目指す人のpython環境構築 2016](http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c)
[Anaconda で Python 環境をインストールする](http://qiita.com/t2y/items/2a3eb58103e85d8064b6)
[【決定版】MacでPythonを使って『機械学習』を学ぶための環境構築](http://qiita.com/yoshizaki_kkgk/items/4663148a2b3ca078ddbc)

#homebrewでpyenvのインストール
まずBrewでpyenvをinstallします。
terminalを開き

```:pyenvとpyenv-virtualenvのインストール
$brew install pyenv
$brew install pyenv-virtualenv
```
Brewない方は、まずBrewをinstallします。
Qiitaにお世話になった記事がたくさんありますのでご参照ください。

#.bash_profileの編集
pyenvがinstallできましたら .bash_profile を弄ります。
Terminalを開き

```:.bash_profileに以下を記述
$echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bash_profile
$echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.bash_profile
$echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
```

"{}"を忘れないでください、後々Anacondaがpyenvで設定されてるにも関わらず python --versionがおかしな感じになりますので。

```:catで.bash_profileの中身を確認
$cat ~/.bash_profile
```

.bash_profileを書き換えたら、terminalを一度閉じて開き直すなり、
source ~/.bash_profileするなりしてください。

#pyenvでPythonのインストール
では、pyenvでPythonをinstallしていきます。
まずは、pyenvでinstallできるPythonのversionのlistを表示。

```:Python_version_list表示
$pyenv install -l
```

リスト表示されたPythonのversionの中から好きなのをinstallします。
もちろん、この記事を見ているということはAnacondaですよね？
2系と3系を両方ともinstallして検証してみてください。

```:Anacondaをpyenvでinstall
$pyenv install [python_version]
$pyenv install [another_python_version]
```

pyenvにinstallされたpythonのversionを確認しましょう。

```:pyenvにinstallされたpython_version確認
$pyenv versions
```

systemで設定されたpython_versionが複数表示されたらOKです、
またactivateされているpython_versionの頭には*が付いています。

#pyenvでGlobalなpythonとlocalなpythonの設定
ここでおさらいですがpyenvでは
global（どのディレクトリにも反映）と
local（設定時のカレントディレクトリだけ反映）のpython_versionの設定ができます。

```:globalなpython_version設定
$pyenv global [python_version]
```

うまくglobalなpython_versionが設定されたか見てみましょう。

```:globalに設定されたpython_version確認
$pyenv global
```

先ほどに設定したpython_versionが表示されましたでしょうか？

次にlocalなpython_versionを設定してみます。

```:localなpython_version設定
$pyenv local [python_version]
```

カレントディレクトリにlocalなpython_versionが設定されたか確認します。

```:localに設定されたpython_version確認
$pyenv local
```

local設定されたpython_versionが表示されたと思いますが
一旦、localに設定されたpython_versionを外します。


```:local設定されたpython_versionを解除
$pyenv local --unset
```

```:pyenvのinstallリストで表示されるpythonversionの更新
$brew update
$brew upgrade pyenv
```

#virtualenv
では、virtualenvの設定に入ります。
好きなpython_versionで仮想環境を構築して使えます。

```:仮想環境のpython_versionと名前を設定
$pyenv virtualenv [python_version] [virtualenv_name]
```

仮想環境virtualenv_nameがpyenvに追加されたか確認してみましょう。

```:pyenvにvirtualenv_nameが追加されたか確認
$pyenv versions
```

追加されたことを確認したら仮想環境virtualenv_nameをactivateしてみましょう。

```:仮想環境virtualenv_nameをactivate
$pyenv activate [virtualenv_name]
```

terminalの行頭に(virtualenv_name)が表示されましたか？
どこのディレクトリでもactivateできます。

では、次に仮想環境virtualenv_nameを解除します。

```:仮想環境virtualenv_nameをdeactivate
$pyenv deactivate
```

terminalの行頭に表示されていた(virtualenv_name)が消えたでしょうか？

最後に構築した仮想環境virtualenv_nameを削除します。

```:仮想環境virtualenv_nameを削除
$pyenv uninstall [virtualenv_name]
```

MEMO終わり!!

昨日anaconda3-4.0.0のvirtualenvをlocalに設定した上で
python -Vすると3.6.0が表示されました、3.5.1のはずなのですが……
Markdown記法を初めて使うくらい超初心者なのですが
QiitaのKnowledgeの集積で多少まともにpythonで遊べるようになりました。
たくさんの良記事を共有してくださった皆様とQiitaに最大限の感謝をしております。