🌟
asdf でPythonのバージョン管理
asdf とは
asdf は、複数の言語やツールのバージョン管理を一括で管理できるツールです。
インストール
Homebrew でインストールします。
$ brew install asdf
シェルの組み込み
こちらを参考にシェルへ組み込みます。シェル起動時に asdf を読み込むように設定します。 exec $SHELL -l
でシェルを再起動します。
$ echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
$ exec $SHELL -l
########################################
# asdf
#######################################
. /opt/homebrew/opt/asdf/libexec/asdf.sh
Pythonのプラグインをインストール
Python のプラグインとリポジトリを確認します。
$ asdf plugin list-all | grep python
python https://github.com/danhper/asdf-python.git
プラグインをインストールします。
$ asdf plugin add python
利用可能なバージョンを確認
こちらのコマンドで利用可能なバージョンを確認できます。ためしに、python
で利用可能なバージョンを確認します。
$ asdf list-all python
...
3.9.14
3.9.15
3.9.16
3.9.17
3.9.18
3.9.19
3.10.0
3.10-dev
3.10.1
3.10.2
3.10.3
3.10.4
3.10.5
...
バージョンをインストール
最新のバージョン(latest
)と 3.10.0
をダウンロードします。
$ asdf install python latest
$ asdf install python 3.10.0
インストール済みのバージョンを確認します。
$ asdf list python
*3.10.0
3.12.3
利用するバージョンを指定
グローバルに設定
どのディレクトリでも先ほどダウンロードしたバージョンを利用できるように設定します。
$ asdf global python 3.10.0
利用可能なバージョンを確認します。
$ cat ~/.tool-versions
nodejs 20.0.0
python 3.10.0
Python のバージョンを確認します。
$ mkdir -p ~/Private/temp-20240527
$ cd ~/Private/temp-20240527
$ python --version
Python 3.10.0
ローカルに設定
一部のディレクトリのみで利用するバージョンを設定します。
$ mkdir -p ~/Private/temp-20240512-2
$ cd ~/Private/temp-20240512-2
$ asdf local python 3.12.3
利用可能なバージョンを確認します。
$ cat .tool-versions
python 3.12.3
python のバージョンを確認します。
$ python --version
Python 3.12.3
プラグインのアップデート
プラグインのアップデートします。
$ asdf plugin update python
プラグインの削除
プラグインの削除します。あたりまえですが、プラグインを削除すると、そのプラグインでインストールしたバージョンも削除されます。
$ asdf plugin remove python
さいごに
asdf は、複数の言語やツールのバージョン管理を一括で管理できるツールです。複数の言語やツールを利用する場合には、ぜひ導入してみてください。
Discussion