pyenv で python2 と python3 の両バージョンを指定できるのを最近まで知らなかった

この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります

なんで今まで知らなかったし、という感じです。

pyenv global 2.7.13 3.6.0

僕は anyenv を使って複数のバージョンを切り替えて使っているのですが、

pyenv であれば、 pyenv install --list でインストール可能なバージョンを調べつつ、 pyenv install 2.7.13 などのようにバージョンを指定してインストールし、 実際にそのバージョンを表で使うときは pyenv global 2.7.13 などと入力して使ってました。

Python2 系と、 Python3 系の間には互換性がないため、 それぞれのアプリケーションで2から3にアップデートしたとかしてないとか、 色々と対応がネックになるところです。

Python3 系が使いたい時は pyenv install 3.6.0 のように、 表で使えるようにグローバルを切り替えて使っていたのですが、 なんとこれ同時に指定できたのですね・・・。

$ pyenv global 2.7.13 3.6.0
$ pyenv rehash
$ python -V
Python 2.7.13
$ python3 -V
Python 3.6.0

あぁもっと早くに知っておきたかった・・・。

ちなみに PATH は ANYENV_ROOT から見て

PYENV_ROOT="${ANYENV_ROOT}/envs/pyenv"
PATH="${PYENV_ROOT}/shims/"

以下に python, python3 があります。 bashrc や zshrc などの指定や、 NeoVim とかに移るときに Python2 と Python3 の両方パスを通したいときなどに この辺指定すると良いと思います。

参考URL

この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります

もし記事内に誤りなどございましたら、 @girigiribauer @girigiribauer.com までご一報いただけると助かります。