pyenvのメモ

メモ
pyenv
Python 2系と3系を切り替えるツール
HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ - Qiita

virtualenv 同じPythonバージョンで別のPython環境を切り替えるツール http://qiita.com/Kodaira_/items/feadfef9add468e3a85b

anyenvというのもある。

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

使ったコマンド

インストール可能なPythonバージョン一覧

pyenv install --list

現在のバージョン表示

pyenv version

インストール済みPythonバージョン一覧

pyenv versions

インストール可能なPython 3.5系バージョンに3.5-devしかなかったので、
pyenvをアップグレード。

brew upgrade pyenv

3.5.1が出てきた。

Python 3.5.1のインストール

pyenv install 3.5.1

Pythonバージョンの切り替え

pyenv local 3.5.1
pyenv global  3.5.1

pythonコマンドでバージョンが切り替わらなかった。

python
Python 2.7.11 (default, Jan 22 2016, 08:28:37) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
KeyboardInterrupt

シェルの設定に追記したら、pythonコマンドでPythonバージョンが切り替わった。

vi .zshrc

export PYENV_ROOT="${HOME}/.pyenv"
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"

.zshrcの設定でshellコマンドがないエラーも直った。

% pyenv shell 3.5.1
pyenv: no such command `shell'

virtualenvのactivate

インストールしたPython環境をもとにvirtualenvを作成。

pyenv virtualenv 2.7.9 env1

pyenv activateコマンドでvirtualenv環境を有効化。

pyenv activate env1

memo

.zshrcに

eval "$(pyenv virtualenv-init -)"

を足すと、terminalで改行した時の応答が遅くなる?

CentOS6

PyenvをCentOS6.3でセットアップする(超かんたんリファレンス付き) - Qiita

yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel bzip2 sqlite openssl-devel
pyenv install 2.7.12


Installing Python-2.7.12...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

コピペ元のyumコマンドは、bzip2-develの手前の空白が全角になってる?

MacOS Sierra

pyenvでPythonを切り替えようとしたらエラーになった。
シェルをzshにしていたことが原因だったっぽい。

% pyenv activate 2.7.13

Failed to activate virtualenv.

Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.

.zshrc に↓を足したら動いた。

# pyenv
export PYENV_ROOT="${HOME}/.pyenv"
export PATH="${PYENV_ROOT}/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

zsh設定 メモ

System Preferences > Users & Groups
左下の鍵マークからロック解除
左一覧の名前を control + クリック > Advanced Options
Login shell: を /bin/zsh
で設定した。

設定ファイルを編集してもできるっぽい。

http://qiita.com/harapeko_wktk/items/47aee77e6e7f7800fa03

.python-version

特定のディレクトリにいるときに自動でpython環境が変わるようにするには、
.python-version
というファイルを作って、その中にvirtualenvの名前を書く。