調べると色々出てくる。
アナコンダ使ったり、パッケージファイルからインストールしたり、homebrewから直接インストールしたりする方法があるが、一番nodebrewっぽく扱える pyenv(pyenv-virtualenv)を使ってインストールした方法をメモ。

homebrewはインストール済みである前提。

pyenvを使ってもいいが、Virtualenvを使って個別の開発環境を作成できるようにする。

# pyenv-virtualenvをインストール(pyenvもついてくる)
$ brew install pyenv-virtualenv
# pyenvのみインストールする場合
$ brew install pyenv

その後、~/.bash_profile(あるいは~/.zshrc)に以下を追記。
どちらが適正かは、$ echo $SHELL を使うとわかる。

# pyenv-virtualenvの場合
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    # pyenv のアップデートにより python の環境変数を指定しないといけなくなった
    eval "$(pyenv init --path)"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
fi

# pyenvのみの場合
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    # pyenv のアップデートにより python の環境変数を指定しないといけなくなった
    eval "$(pyenv init --path)"
    eval "$(pyenv init -)"
fi

# 上記で動かない場合は下記も追記
export PATH=”$HOME/.pyenv/shims:$PATH”

# いろいろ省略するとこう
# pyenv-virtualenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export PATH=”$PYENV_ROOT/shims:$PATH”

その後、適用。

$ source ~/.bash_profile

※ pathが通らない場合、whichコマンドで確認し、$ cat /etc/paths でパスの優先順位がただしいかどうかをチェック

pyenvの使い方

# インストール可能なpythonのバージョンを確認
$ pyenv install -l
# 確認したバージョンでインストール
$ pyenv install 3.6.1
# バージョンの確認
$ pyenv version
# バージョンの切り替え(すべての箇所、最初に必ず実行する)
$ pyenv global 3.6.1
# バージョンの切り替え(現在のディレクトリ配下)
$ pyenv local 3.6.1
# インストールされたバージョン一覧
$ pyenv versions

pyenv-virtualenvの使い方

# 環境の作成
$ pyenv virtualenv <pythonのバージョン> <環境名>
$ pyenv virtualenv 3.6.4 hoge

# ディレクトリを作成し、移動
$ mkdir sample & cd sample

# 環境を現在のディレクトリ配下に適用
$ pyenv local hoge

pythonのバージョン確認

$ python --version
$ python3 --version
$ which python

pyenvの再インストール

なにか不具合が起きたりした場合。

$ rm -rf /Users/xxx/.pyenv
$ brew uninstall pyenv-virtualenv
$ brew uninstall pyenv
// pyenv, virtualenvが消えていることを確認する
$ brew list
// 再インストール
$ brew update
$ brew install pyenv-virtualenv
$ brew unlink pyenv
$ brew link pyenv
$ source .zshrc