CentOS に pyenv で Python インストールしてみた

pyenv とは

pyenv とは Python のバージョン管理を行なうコマンドラインツールで、複数のバージョンの Python のインストールや、インストールしたバージョンの変更を簡単に行うことができます。

Ruby では rbenv + ruby-build が有名ですが、それの Python 版だと考えていただけたらと思います。

作業環境

pyenv のインストール

まずは依存パッケージを yum でインストールします。

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git

pyenv を ~/.pyenvgit 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 のバージョンが元に戻りました!

実践力を身につける Pythonの教科書

実践力を身につける Pythonの教科書

みんなのPython 第4版

みんなのPython 第4版