pyenvの使い方とインストール

Windows以外のプラットフォームでPythonを使用する場合、システムへインストールされているPythonを利用するのも選択肢の一つです。Mac OS XUbuntuCent OSなどの主要なOSでは、すでにPythonがインストールされているため、すぐに利用することができます。しかし学習の開始段階ではそれで十分ですが、本格的にプログラミングを行う場合や、システムへインストールされているバージョンとは異なるバージョンを使用したいなど、そういったケースではpyenvを利用するのがおすすめです。

pyenvとは

pyenvはPythonのバージョン管理を行なうコマンドラインツールで、複数のバージョンのPythonのインストールや切り替えを容易に行うことができます。またWindowsはサポートしておらず、冒頭で挙げたようなOSをサポートしています。本項ではpyenvそのもののインストールやPythonインタープリタのインストール、バージョンの切り替え方法などを記載します。

pyenvに必要なライブラリ

pyenvのインストール方法はOSによって若干の相違があります。まずは必要なライブラリをインストールする必要があるので、下記リンクで公開されている方法から引用します。

公式のGitHub
https://github.com/yyuu/pyenv/wiki/Common-build-problems

使用中のOSに応じてコマンドを実行し、ライブラリをインストールしてください。

  • Ubuntu/Debian
    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
    
  • Fedora/CentOS/RHEL
    yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel
    
  • Mac OS X
    brew install readline xz
    

pyenvのインストール

Githubリポジトリからpyenvをコピーします。gitがインストールされていない場合はsudo apt-get install gitなどでインストールしてください。

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

コマンドラインでpyenvを使用するための準備をします。ファイル名.bash_profileは環境によって異なります。zshの場合は.zshenv、Ubuntuの場合は.bashrcへ変更してから実行してください。

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

パスを変更したのでそれを適用します。以上でインストールおよび設定は終了です。

exec $SHELL

インストールされているバージョンの確認

pyenvでインストール可能なPythonインタープリタの一覧を表示する場合は、下記コマンドを実行します。

pyenv install -l

沢山出力されますが、ここで表示される名称(バージョンナンバー)をインストール時に指定します。

… 中略 …

  2.7.9
  2.7.10
  2.7.11
  2.7.12
  3.0.1
  3.1
  3.1.1
  3.1.2

… 中略 …

pyenvで管理されているPythonインタープリタを表示するには、下記コマンドで確認することができます。

pyenv versions

以下のような出力結果を得られます。下記例ではsystemがシステム導入時にすでにインストールされているPythonインタープリタ、それ以外にpyenvでインストールを行った2.7.123.5.2が管理下にあります。

  system (set by /home/some_user/.pyenv/version)
* 2.7.12
  3.5.2

各インタープリタの左に「 * 」が付きます。これは現在アクティブなPythonインタープリタを示しており、コンソール上で単純にpythonとタイプした場合に実行されるインタープリタです。上記例の場合はpythonと実行すると2.7.12の対話型シェルが起動します。

Pythonのインストール、アンインストール

Pythonインタープリタをインストールする場合は下記コマンドを実行します。

pyenv install <Version>

Versionにはpyenv versionsで表示されるバージョンを入力してください。たとえば2.7.12をインストールする場合はpyenv install 2.7.12と入力します。
アンインストールは次の通りです。

pyenv uninstall <Version>

バージョンの切り替え

Pythonインタープリタのバージョンを切り替える場合は下記コマンドを実行します。

pyenv global <Version>

Versionにはpyenv versionsで表示されるバージョンを入力してください。たとえばsystemへ切り替える場合はpyenv global systemと入力します。