pyenv について

【GitHub】:Simple Python Version Management: pyenv

はじめに

pyenvはPythonのバージョン管理と切替を容易にするツールであり。UNIXの思想(single-purpose tools that do one thing well)にしたがって作られています。

How to use

pyenvは高いレベルにおいて、Pathに実行可能ファイルを注入し、割り込みをします。これによって、複数のPythonバージョンの中から、アプリケーションに対して適切なバージョンのみを実行させることができます。

Understanding Path

Pythonコマンドやpipコマンドを打つとOSがディレクトリ のリストを探索し、実行可能なファイル名を見つけます。このディレクトリ のリストのことを環境変数と呼びます。
ディレクトリ リストは、コロンによって分けられています。

上記の環境変数の場合は、左から順に探索されるため、/usr/local/binが探索結果になります。

Under standing Shims

pyenvはPATH(環境変数)の前にShimディレクトリ を挟むことで動作します。

redhaningと呼ばれるプロセスを通して、pyenvはディレクトリ 内のShimsを維持することで、全てのバージョンごとにpython, pipコマンドなどが動作するようになっています。

Shimsは軽量で、以下のようなシンプルな行程で処理を行います。インストール後に、pipコマンドを入力すると、

  • 実行可能なpipというファイルを環境変数の中から探します。
  • pipという名前のShimsを見つけます。
  • pipという名前のShimを実行します。

Choosing the Python Version

Shimを実行した時に、pyenvはどのPythonバージョンを実行するのかを以下のソースから決定します。

  • PYENV_VERSION`環境変数。`pyenv shellコマンドで、現在のShellセッションに環境変数を設定することができます。
  • アプリケーションで特定のバージョンを使いたい時は、カレントディレクトリにある.python-version``pyenv localコマンドで修正することができます。
  • ルートディレクトリ に行くまでの間に、最初に見つかった、.python-versionファイルが適用されます。
  • $(pyenv root)/version`グローバルな環境変数は、`pyenv globalで修正することができます。pyenv globalはsystemを使うことを推奨しています。

NOTE : Python2系、Python3系を含め複数のバージョンを同時に動作させることができます。このことにより、複数のバージョンで並行処理させることも可能です。
例えば、デフォルトで入っているPythonに加え、Python3.3.6、3.2、2.5にパスを通し他とします
pyenv global system 3.3.6 3.2 2.5
.python-versionファイルで、改行または空白で区切って複数のバージョンを指定することもできます。

サイト内リンク:よく使うコマンドまとめ

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)