pyenv とは
pyenv とは Python のバージョン管理を行なうコマンドラインツールで、複数のバージョンの Python のインストールや、インストールしたバージョンの変更を簡単に行うことができます。
Ruby では rbenv + ruby-build が有名ですが、それの Python 版だと考えていただけたらと思います。
作業環境
- CentOS 7.3
pyenv のインストール
まずは依存パッケージを yum でインストールします。
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git
pyenv を ~/.pyenv
に git clone
します。
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
~/.bash_profile
に環境変数などを設定します。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
先ほど設定した環境変数を反映します。
$ source ~/.bash_profile
これで pyenv のインストールは完了となりますので、問題なくインストールできているか、pyenv のバージョンを確認してみましょう。
$ pyenv --version
pyenv 1.0.6-1-g0256ff0
pyenv で Python をインストールする
pyenv で別バージョンの Python をインストールする前に、まずは現在の Python のバージョンを確認してみます。
$ python --version
Python 2.7.5
次に、インストールできる Python のバージョンを一覧表示してみます。
$ pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
...(略)
今回は Python 3.6.0 をインストールします。
$ pyenv install 3.6.0
Downloading Python-3.6.0.tar.xz...
-> https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
Installing Python-3.6.0...
Installed Python-3.6.0 to /home/vagrant/.pyenv/versions/3.6.0
使用する Python のバージョンを 3.6.0 に変更します。
$ pyenv global 3.6.0
$ pyenv rehash
Python のバージョンがきちんと 3.6.0 に変更されているか、Python のバージョンを再度確認してみます。
$ python --version
Python 3.6.0
Python 3.6.0 がインストールできました!
Python のバージョンを元に戻す
Python のバージョンを元に戻したいこともあると思うので、バージョンを元に戻す方法も確認しておきましょう。
まずは、pyenv でインストールしたバージョンの一覧を表示します。
$ pyenv versions
system
* 3.6.0 (set by /home/enomotodev/.pyenv/version)
先ほどインストールした 3.6.0 以外に system
というバージョンがあるのがわかるかと思います。
Python のバージョンを元に戻したいときは、system
にバージョンを設定してあげれば OK です。
$ pyenv global system
$ python --version
Python 2.7.5
これで Python のバージョンが元に戻りました!