それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

pyenv で一時的にバージョンを変える- pyenv shell

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 とほぼ同じですね。