🦁

【pyenv】Command Snippets

2023/02/09に公開

For Ubuntu

Install dependencies

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils

Clone pyenv to local

You need git.

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

Set path to pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

Load Changes

source ~/.bashrc

Check installed python

pyenv install -l

Check active pyenv

pyenv versions

Install other python version

pyenv install <Version>

Change pyenv

globally (Entire System)

pyenv global <Version>

locally (Current Directory)

pyenv local <Version>

such as

pyenv local 3.9.8

pyenvでのpythonのバージョンがpython -vと違う時の対処法
例えばpyenvでバージョンを2.7.10に切り替えたはずなのに、pythonのバージョンを調べたら3.5.0だった...
なんてことがあるかもしれません。

$ pyenv versions
system

  • 2.7.10
    3.5.0
    $ python --version
    Python 3.5.0
    その場合、whichコマンドでパスを表示してみてください。

$ which python
/usr/bin
このようになっていたら、それはデフォルトでPCに入っているpythonを参照してきています。もしここでpyenvの方を参照するようにパスを変更したければ、以下のように編集してください。

$ vim /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
これで、パスがusr/binよりも/usr/localを優先されるようになります。確認のためwhichコマンドをもう一度入力すると

$ which python
/usr/local/bin/pyenv
のようになるはずです。
最後にもう一度pyenvのpythonのバージョンがpythonのバージョンと一致するか確かめてみてください。

Discussion