pyenvをインストールするには

pythonの複数バージョンをインストールしたり、切り替えたりするツールです。

何かをインストールするまでいろいろ大変ね!

Mac OS X

Mac OS X 10.15.4

brewでインストールできます。

$ brew install pyenvCode language: Bash (bash)

git clone でもインストールできます。git cloneしたほうには、installリストが少し新しいようです。

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenvCode language: Bash (bash)

環境変数を追加します。筆者は .bash_profile 、.bashrcのファイル構成なので、.bashrc に追加しました。

7行全てをコピペして、ターミナルで実行してください。

cat <<'EOT'  >> ~/.bashrc

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
EOTCode language: Bash (bash)

いったんターミナルを閉じて、もう一度ターミナルを開きます。

$ pyenv --version
pyenv 1.2.18Code language: Bash (bash)

使い方

Ubuntu 18.04

git clone します。

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenvCode language: Bash (bash)

環境変数を.bashrc に追加します。7行全てをコピペして、ターミナルで実行してください。

cat <<'EOT'  >> ~/.bashrc

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
EOTCode language: Bash (bash)

いったんターミナルを閉じて、もう一度ターミナルを開きます。

$ pyenv --version
pyenv 1.2.18-12-g098227f2Code language: Bash (bash)

使い方

使い方

インストール可能なバージョン一覧を表示します。

$ pyenv install --listCode language: Bash (bash)

特定のバージョンのpythonをインストールします。pipも同時にインストールされます。ここでは、3.8.2と2.7.18をインストールします。

$ pyenv install 3.8.2
$ pyenv install 2.7.18Code language: Bash (bash)

インストール済みのバージョンを表示します。systemは、pyenvインストール前からインストールされていた /usr/bin/python です。Max OS Xでは 2.7.16、Ubuntu 18.04では2.7.17です。

$ pyenv versions
* system (set by /Users/aoki.makoto/.pyenv/version)
  2.7.18
  3.8.2Code language: Bash (bash)

global設定を3.8.2に切り替えます。

$ pyenv global 3.8.2

$ python --version
Python 3.8.2

$ pip --version
pip 19.2.3 from /Users/aoki.makoto/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pip (python 3.8)

$ pyenv version
3.8.2 (set by /Users/aoki.makoto/.pyenv/version)

$ cat /Users/aoki.makoto/.pyenv/version
3.8.2Code language: Bash (bash)

別のディレクトリ、例えば ~/Documentsに移動して、local設定を2.7.18に切り替えます。

$ cd ~/Documents

$ pyenv local 2.7.18

$ python --version
Python 2.7.18

$ pip --version
pip 19.2.3 from /Users/aoki.makoto/.pyenv/versions/2.7.17/lib/python2.7/site-packages/pip (python 2.7)

$ pyenv version
2.7.18 (set by /Users/aoki.makoto/Documents/.python-version)

$ cat .python-version 
2.7.18Code language: Bash (bash)

シバンを記述するときは、/usr/bin/env python とします。pyenv local、pyenv globalの設定にしたがって、pythonが起動します。

#!/usr/bin/env python

import platform

print(platform.python_version())
Code language: Python (python)
$ ./version.py
3.8.2

シバンを/usr/bin/pythonとすると、pyenvインストール以前の/usr/bin/pythonが起動します。

#!/usr/bin/python

import platform

print(platform.python_version())
Code language: Python (python)
$ ./version.py
2.7.17Code language: Bash (bash)
タイトルとURLをコピーしました