pyenv で一時的にバージョンを変える
pyenv には、そのシェル内部だけ、一時的にバージョンを変えることができるサブコマンド shell が存在する。
pyenv shell の例
pyenv shell 3.7.2
コマンド類
基本的なコマンド pip / python などは pyenv で指定した方に併せられます。 これは pyenv の shims で実現されています。
シェルの有効範囲
シェルから起動したシェルは基本的に設定を引き継ぐ。
たとえば、次のような起動は、設定を引き継ぐ。
- pyenv shell から起動したシェル(bash)から起動した bash ( pyenv shell → bash )
- pyenv shell から起動したシェル(bash)から起動した sh ( pyenv shell → sh )
pyenv のスコープ(有効範囲)
python の pyenv には、影響スコープの設定がいくつかあって
- system
- global
- local
- shell
の順にバージョン指定を変えることができる。
global / local は .python-version を使って実現するのだが、
shell は完全に現在のシェルだけに適用されるので便利です。
pyenv shell は virtualenv activate とほぼ同じですね。