pyenvの基本
概要
pyenvの使い方を説明する。pyenvとはpythonの複数のバージョンをインストール、管理できる便利なツールである。pyenvの他にもanacondaでバージョン管理ができるが、Macの場合はanacondaを使用するとhomebrew
が競合してしまうのでpyenvを使うと良い。Macでないならanacondaでも十分かも...
環境
MacOS Mojave 10.14.5
pyenv 1.2.13
pyenvのインストール
公式の通りにインストールする。通常はgit
でインストールするが、Macの場合はhomebrew
でもインストールできる。
1. gitからインストールする。Windows, linuxの方はこちらの方法。gitがインストールされていないMacの方はこちら。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
2. homebrewでインストールする。macであればこちらでもよい。
$ brew update $ brew install pyenv
パスの設定
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
pyenvのおまじない
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
シェルの再起動
$ exec "$SHELL" -l
これにより、.bash_profile
を読み込むことができる。以下を実行してpyenvのバージョンが表示されればOK。
$ pyenv --version pyenv 1.2.13-12-g8a56fe64
pyenvの使い方
$ pyenv --help Usage: pyenv <command> [<args>] Some useful pyenv commands are: commands List all available pyenv commands local Set or show the local application-specific Python version global Set or show the global Python version shell Set or show the shell-specific Python version install Install a Python version using python-build uninstall Uninstall a specific Python version rehash Rehash pyenv shims (run this after installing executables) version Show the current Python version and its origin versions List all Python versions available to pyenv which Display the full path to an executable whence List all Python versions that contain the given executable See `pyenv help <command>' for information on a specific command. For full documentation, see: https://github.com/pyenv/pyenv#readme
pyenv commands
で使用できるコマンド全てを参照できる。
インストールできるバージョンの参照
$ pyenv install --list Available versions: 2.1.3 2.2.3 2.3.7 2.4.0 2.4.1 2.4.2 2.4.3 ...
数値のみであるものはpythonのバージョンである。pythonだけでなくanaconda, miniconda等もある。
pythonのインストール
pyenv install --list
で確認したバージョンのうちインストールしたいバージョンを選ぶ。少々時間がかかります。
python3.7.1のインストール
$ pyenv install 3.7.1
anaconda3-5.3.0のインストール
$ pyenv install anaconda3-5.3.0
インストールしたpythonを有効化する
ここでpythonをインストールしてもすぐに使えるわけではなく、インストールしたバージョンに切り替える必要があります。
今使っているpythonバージョンの確認
$ python -V Python 2.7.12 $ pyenv version system
今はpython2.7.1をシステムから利用していることがわかる。
インストールした全ての環境の確認
$ pyenv versions * system 3.7.1 anaconda3-5.3.0
*
が現在使っている環境を表している。system
はシステム上のpythonを使っていることを表す。今はsystem
の他にもpython3.7.1
とanaconda3-5.3.0
の環境があることがわかる。
バージョンの切り替え
バージョンの切り替え方法はglobal
とlocal
の2種類が存在する。
今回は全ディレクトリでpython3.7.1が使えるように設定する。
$ pyenv global 3.7.1 $ pyenv versions system * 3.7.1 anaconda3-5.3.0 $ python -V Python 3.7.1
環境がsystem
から3.7.1
に切り替わり、pythonのバージョンも切り替わったことがわかる。
$ pyenv local 3.7.1
pyenv local
を実行すると.python-version
が作成される。
アンインストール方法
pyenvで環境をアンインストールをする際は、アンインストールする環境以外にバージョンを切り替えてからするとよい。
$ pyenv uninstall 3.7.1
インストールした場所の確認
インストールしたpythonの場所を確認する。pyenv which
とwhich
では結果が異なる。
$ pyenv which python /Users/USER/.pyenv/versions/3.7.1/bin/python $ which python /usr/bin/python