LoginSignup
3
2

More than 1 year has passed since last update.

pyenvでpythonのバージョンが切り替わらなかった問題の対処

Posted at

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のバージョンが切り替わらず
頭をひねっていたので、
対処法が分かって安心しました。
ということでメモとして残します。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2