Pyenvとは?
- 複数バージョンのPythonを簡単に切り替えられる。
- 色々なバージョンのPythonを~/.pyenv以下に配置している。
Pyenvの場所
今回の作業環境
- Ubuntu 16.04
インストール
pyenv-installerでインストールしてみる。
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
.bashrcに設定を書き込む
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ pyenv -v
pyenv 1.0.10-2-geef042a
Pyenvのコマンド
- コマンドについてここに詳しく書いてある。
- インストールに失敗する場合は、ここに色々注意点が書いてある。
-
pyenv install --list
でインストールできるpythonのバージョンが一覧表示される。 -
pyenv install 3.6.1
などとやると、3.6.1がインストールされる。 -
pyenv versions
で、インストール済み一覧が表示され、現在アクティブなバージョンがどれか教えてくれる。
$ pyenv install --list
$ 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
$ pyenv install 3.6.1
$ pyenv install anaconda3-4.3.1
$ pyenv versions
* system (set by /root/.pyenv/version)
3.6.1
anaconda3-4.3.1
バージョンを切り替えてみる
現在のバージョンを確認
$ python --version
Python 2.7.12
globalコマンドを使ってバージョンを切り替える。
$ pyenv global 3.6.1
$ pyenv versions
system
* 3.6.1 (set by /root/.pyenv/version)
anaconda3-4.3.1
$ python --version
Python 3.6.1
localコマンドを使ってバージョンを切り替える。
- 特定のディレクトリ内のみバージョンを切り替えたいときに使える。
- pyenv localが実行されると、実行されたカレントディレクトリに
.python-version
というファイルが作成される。これはglobal設定よりも優先される。
$ cd hoge
$ pyenv local anaconda3-4.3.1
$ python --version
Python 3.6.0 :: Anaconda 4.3.1 (64-bit)
$ cd ..
$ python --version
Python 3.6.1
ちなみに、.python-version
の中身を見てみたら、バージョン名のみ書いてあった。
$ cat .python-version
anaconda3-4.3.1
Pythonの場所(フルパス)の確認
$ pyenv which python3.6
/root/.pyenv/versions/3.6.1/bin/python3.6
ちなみに、普通のwhichも試してみる。
$ which python3.6
/root/.pyenv/shims/python3.6
$ which python
/root/.pyenv/shims/python