みなさん、pythonのインストールはどのようにしていますか?
1つのバージョンだけ使うのであればpythonの公式ページからダウンロードして、インストールするのが簡単です。一方、解析の都合で複数のpythonのバージョンを使い分けたいケースもありますよね。
本記事では、asdfを使って複数のpythonのバージョンをインストールする方法を解説します。
asdfとは
asdfは複数のプログラミング言語やツールのバージョン管理を行うためのツールです。pythonのバージョンをプロジェクトごとに切り替えたり、最新バージョンのツールをインストールしたりするのに便利です。
複数のバージョンのpythonを管理するツールにはpyenvもありますが、asdfではrubyやGoなどの他のプログラミング言語や様々なツールの管理もできるため、より便利です。
asdfのインストール
asdfのインストール手順は下記のリンクの公式ページの手順に従って進めます。ここでは、windowsのwsl2を前提に手順を解説します。
前準備
gitとcurlが必要なため、下記のコマンドでインストールしておきます。
sudo apt install curl git
asdfのダウンロード
下記のコマンドで、asdfのリポジトリをクローンして、ホームディレクトリ配下にダウンロードします。
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
‘~(チルダ)’はホームディレクトリを表し、wsl環境では/home/{username}のことです。
~/.asdfディレクトリにダウンロードしたものが入っています。
asdfのインストール
次に、asdfをインストールして使用可能な状態にしていきます。
ホームディレクトリにある~/.bashrcファイルをテキストエディタなどで開き、下記の行を追加します。
. "$HOME/.asdf/asdf.sh"
この操作の意味を理解するためには、bashなどの知識が必要になりますが、これはターミナルなどを開くたびにasdf.shというプログラムを実行する操作を設定する、ということになります。
これでasdfのインストールは完了です。
下記のコマンドでバージョンが表示されるか確認してみてください。もしうまくいかない場合は、ターミナルを一旦閉じて再度開いてから試してみてください。
asdf version
asdfでpythonをインストール
asdfのpythonプラグインの公式ページの手順に従ってインストールを進めます。
前準備
pythonをインストールするのに必要なライブラリをインストールしておきます。
sudo apt update
sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
上記のライブラリがインストールできれば、準備は完了です。
pythonプラグインの追加
下記のコマンドでasdfのpythonプラグインを追加します。
asdf plugin-add python
以下のコマンドでpythonのプラグインが追加されているか確認できます。
asdf plugin list --urls
pythonが表示されていれば、OKです。
次に、インストール可能なpythonのバージョン一覧を下記のコマンドで確認できます。
asdf list-all python
非常にたくさんの種類があることが確認できます。自分の使いたいバージョンをインストールしてみましょう!
pythonのインストール ver1
asdfでは、.tool-versionsというファイルに使用したいツールのバージョンを記載して管理します。
使用する1つ目のバージョンとして、python 3.11.8をインストールしてみます。test1というフォルダを作成し、そこに.tool-versionsというファイルを作成して、下記のように記載します。
python 3.11.8
.tool-versionsファイルが用意できたら、.tool-versionsファイルが存在するディレクトリで下記のコマンドを実行します。
asdf install
無事インストールできたら、pythonのバージョンを確認してみましょう。
python --version
python 3.11.8と表示されていれば、目的のバージョンがインストールできています。
pythonのインストール ver2
次に、別のバージョンのpythonをインストールしてみます。
test2というフォルダを別に作成し、そこにも.tool-versionsファイルを作成します。
.tool-versionsファイルに下記のように記載し、python 3.12.0をインストールしてみます。
python 3.12.0
asdfでインストールします。
asdf install
インストールできたら、pythonのバージョンを確認します。
python --version
python 3.12.0が表示されていれば、目的のバージョンがインストールできています。これで、test1とtest2という2つのプロジェクトでpythonのバージョンを使い分けることが可能です。
おわりに
本記事では、asdfの使い方を解説しました。asdfはpythonだけではなく様々なツールを管理することが可能ですので、ぜひ気になるツールがあればインストールして使ってみてください!