調べると色々出てくる。
アナコンダ使ったり、パッケージファイルからインストールしたり、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