[Python] pyenvインストール(or pyenvバージョン更新) / pythonのバージョンを切り替えて使いたい場合
pythonのバージョン毎の動作の違いを確認するといったテストをしたい場合、即時にバージョンを切り替える環境にする必要があります。
そのような場合はpyenvを使用します。
(1) pyenvのインストール
$ git clone https://github.com/pyenv/pyenv.git [インストール先]
Example)
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
[ec2-user@home] git clone https://github.com/pyenv/pyenv.git /usr/local/pyenv/bin/pyenv
(2)はスキップ
(2)pyenvが既にインストールされている場合は、バージョンアップ(pyenv-update)
[ec2-user@home] git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenv-update
[ec2-user@home] pyenv update
アップデート完了後確認
[ec2-user@home] pyenv install -l
(3) パスを通す
[ec2-user@home] echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
※ "$HOME/.pyenv" は (1)でインストールしたpath
[ec2-user@home] echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
[ec2-user@home] echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
[ec2-user@home] source .bash_profile
(4) pyenvがインストールされ使用できる状態か確認する
[ec2-user@home] which pyenv
~/.pyenv
Failure Example)
[ec2-user@home] which pyenv
usr/bin/which: no pyenv in (/home/ec2user/.pyenv/shims:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2user/.local/bin)
(5) pyenv自体のバージョンを確認する
[ec2-user@home] pyenv --version
pyenv 1.2.13-13-g31b7e1c3
versionに--を付け忘れると、pyenvでは無くpythonのバージョンを表示する
[ec2-user@home] pyenv version
3.6.3 (set by /data/test/.python-version)
(6) pythonを実行するディレクトリに移動し、pythonのバージョンを切り替えてみる
・現在のpythonのバージョンを確認する
[ec2-user@home] pyenv local
3.6.2
・現在のpyenvのバージョンで使用出来るpythonのバージョンを確認する
[ec2-user@home] pyenv install --list (もしくは pyenv install -l)
Available versions:
2.1.3
...
3.6.2
3.6.3
..
3.6.7
..
stackless-3.5.4
・現在のインストールされているpythonのバージョンを確認する
[ec2-user@home] pyenv versions
system
* 3.6.2 (set by /data/test/.python-version)
3.6.3 (set by /data/test/.python-version)
使用できるpythonは各バージョンは[pyenv install --list]で確認出来ますが、インストールしないと使えません。
・Exsample) 3.7.2をインストールする場合、
[ec2-user@home] pyenv install 3.7.2
Downloading Python-3.7.2.tar.xz...
-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
Installing Python-3.7.2...
Installed Python-3.7.2 to /home/ec2user/.pyenv/versions/3.7.2
・(インストール後)現在のインストールされているpythonのバージョンを確認する
[ec2-user@home] pyenv versions
system
3.6.2 (set by /data/test/.python-version)
3.6.3 (set by /data/test/.python-version)
* 3.7.2 (set by /data/test/.python-version)
・pythonのバージョン(3.7.2)をインストール後、そのバージョンに切り替える場合、
[ec2-user@home] pyenv local 3.7.2
・切り替わったかを確認するには、
[ec2-user@home] pyenv local
3.7.2
この記事が気に入ったらサポートをしてみませんか?