Python
pyenv

Pyenvの使い方

More than 1 year has passed since last update.

Pyenvとは?

  • 複数バージョンのPythonを簡単に切り替えられる。
  • 色々なバージョンのPythonを~/.pyenv以下に配置している。

Pyenvの場所

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