pipでライブラリを管理しています。
そこでvenvで仮想環境を作っていたときに、
ライブラリとの依存関係で
pythonのバージョンをいくつか使い分けたい
ということがありました。
そこでpyenvでpythonのバージョンを使い分けようと思ったのですが、
詰まってしまいました。
/home> $ pyenv version
python 3.6.9
/home> $ python version
python 3.8.5 (システムのpython)
となってしまい、
pythonのバージョンが切り替わりませんでした。
anacondaだと異なるバージョンのpythonで仮想環境を作るのは簡単でしたが、
考えるところがありpipで仮想環境を作ろうと思ったものの
pipでいくときのpythonのバージョン管理に詰まってしまっていました。。
/home> $ eval "(pynev init -)"
すると切り替わるという情報がありましたが、
自分のところでは切り替わりませんでした。。
調べていくと、
どうもpyenv initに不具合があって
shimsをPATHに追加されていませんでした。
そのため、
.bash_profileを下記のようにしました。
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
.bash_profileのほうでpyenv initの操作を
補うようにした形みたいです。
ずっとpythonのバージョンが切り替わらず
頭をひねっていたので、
対処法が分かって安心しました。
ということでメモとして残します。