PyenvとvenvによるPythonの開発環境管理方法を使うと、バージョンごとに仮想環境構築など多彩な環境構築ができるようになります。
Pyenv:Pythonバージョン管理ツール
PyenvとはPythonのバージョン管理ができるコマンドラインツールです。
Pythonは別のバージョンを複数同時にインストールしておくことができます。複数インストールされているバージョンをひと目で確認したり、インストール・アンインストールやバージョンの切り替えが簡単にできるコマンドになっています。
Pyenvのインストール
Pyenvのインストールは、MacであればHomebrewからが簡単。
$ brew update
$ brew install pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
HomebrewでPyenvのインストール後にシェルにパスを通します。
シェルがBashの場合は~/.Zshrc
の部分を~/.bashrc
へ置き換えてください
インストール済みPythonのバージョンを調べる
$ pyenv versions
system
* 3.10.13 (set by /Users/ユーザー名/.pyenv/version)
現在選択されているバージョンに*がつきます。
インストール可能なバージョンを調べる
$ pyenv install -list
表示された結果内のバージョン番号のみ表示しているものがPython本体です。
python本体のほかanacondaなどもインストール可能です。
Pythonインストール
$ pyenv install 3.X.X
各バージョンの切り替え
$ pyenv global 3.X.X # 3.X.Xへ切り替え
$ pyenv global system # Macに元から入っているPythonへ切り替え
globalとはすべてのディレクトリで使用するバージョンを指定するコマンドです。
上記の例では、「すべてのディレクトリで使用するバージョンを3.X.Xにしなさい」と指示しています。
新しいバージョンをインストールしただけでは自動で切り替わりませんので、インストール後すぐに使う場合はセットで実行します。
特定のディレクトリ配下でのみ別バージョンを指定することもできます。
$ cd ~/other_version
$ pyenv local 3.X.X
別バージョンを使用したいディレクトリへ移動してlocal設定をすることで指定できます。
上記の例では、「other_versionディレクトリ配下のみ3.X.Xを使用しなさい」と指示しています。
venv:仮想環境構築ツール
venvとはpython3.3以降のバージョンであればデフォルトで入っている、仮想環境を構築するコマンドラインツールです。
高機能で評価の高いサードパーティアプリのVirtualenvから仮想環境の基本部分だけをPython公式として採用し同梱されたものです。
仮想環境の作成
$ cd ~/TargetDirectory
$ python -m venv <仮想環境名>
仮想環境を作りたいディレクトリへ移動してvenvを実行するとディレクトリ内に仮想環境名のディレクトリが作成され必要な情報が格納されます。
<仮想環境名>は慣例的に'venv'とすることが多ようです。
仮想環境をアクティヴ化
$ source <仮想環境名>/bin/activate
(<仮想環境名>)$
venvを実行しただけでは、仮想環境を作成できていても有効化はされていません。アクティブにすることで仮想環境に入れます。
仮想環境下ではプロンプトの前に<仮想環境名>が表示されるようになります。
仮想環境下でpipコマンドを使ってインストールされた各種ライブラリなどは、仮想環境を構築したディレクトリ内でアクティブになっているときのみ利用できます。
仮想環境を終了する
(<仮想環境名>)$ deactivate
$
仮想環境を抜けるとプロンプト前の仮想環境名が消えます。
仮想環境の削除
venvを実行したディレクトリ内の<仮想環境名>ディレクトリを削除するだけです。