Posted at

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