1. pyenv とは?
pyenv は、Python のバージョンを切り替えるコマンドラインのツールです。
もう少し具体的にいうと、python
, pip
, ipython
, pydoc
などの Pythonに関する各コマンドがまとめて切り替わります。また、pip
コマンドでインストールするライブラリもバージョン毎に別管理になります。そのため、「Python のバージョンを切り替える」ではなく、「Pythonの環境を切り替える」と表現されることもあります。
Python のバージョンには 2系と3系があるのですが、長年どちらも使われてきました。そのため、Pythonを利用しているプログラム(ツール)によって、どちらのバージョンが必要なのかが割とばらばらだったりします。このような場合に、バージョンが簡単に切り替えられると非常に便利です。もちろん、Python のプログラムを自分で書く場合にも便利です。
※ 2系は 2020年4月でサポートが終了します。
※ 更に高度なことができる pipenv というツールもあります。
2. pyenv の導入
環境
Ubuntu 18.04 (on WSL) での pyenv 導入手順について説明します。
導入手順
(1) Ubuntu 18.04 のターミナルエミュレータを開きます。
(2) 以下のコマンドを実行し、ホームディレクトリ直下に .pyenv
ディレクトリを作成します。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
pyenv
コマンドで導入する Python は、このディレクトリ内にインストールされます。
(3) ~/.profile
ファイルに以下を記述します。
if [ -d "${HOME}/.pyenv" ]; then
export PYENV_ROOT="${HOME}/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
fi
(4) virtualenvwrapper をインストールします。
$ pip install virtualenvwrapper
- これをインストールしないと、ターミナル起動時に警告が表示されます。
(5) ターミナルを開き直します。
3. pyenv を使う
インストールできるバージョン確認する
$ pyenv install -l
特定のバージョンのPythonをインストールする
$ pyenv install バージョン
$ pyenv rehash
インストール済みのバージョンを表示する
$ pyenv versions
利用するバージョンを変更する(グローバル)
$ pyenv global バージョン
今いるディレクトリで使用するバージョンを変更する
$ pyenv local バージョン
ディレクトリ固有のバージョン設定をクリアする
$ pyenv local --unset
インストール済みのバージョンをアンインストール
$ pyenv uninstall バージョン
4. おわりに
上にも書いた通り、2020年4月で 2系のサポートが切れるので、今後は 3系の割合が更に増えていくでしょう。
とはいえ、2系にしか対応していない Python製のプログラムを使いたい場合や、3系であっても細かいバージョンを切り替えたい場合には、依然として pyenv のようなツールは便利であり続けるはずです。