🐍
ubuntu22.04 + asdf python 環境の構築時メモ
ubuntu22.04 + asdf python 環境の構築時メモ
私はpythonやnodejsやrubyなどの言語ランタイムを複数バージョンで管理したいことが多いのですが
dockerで構築することもあれば、dockerでくるまれた環境ではない、素の状態を扱いたいこともあります。その際asdfを使っています。
今回は素のubuntu22.04環境にasdfのpython環境をセットアップすることがあったのですが
いつも片手間で調べながらでやって、依存関係のlibのインストールで手間取るのでそのメモを残しておきます。
手順
1.asdf
asdfはbrewからインストールします。
$ brew install asdf
インストール後にshellの設定にasdf関連のスクリプトを追加します
$ echo -e "\n. \"$(brew --prefix asdf)/libexec/asdf.sh\"" >> ~/.bashrc
$ source .bashrc
2.plugin
asdfのpluginにpythonを追加します
$ asdf plugin add python
3.python pluginの依存関係のインストール
asdfでは各言語のバージョンをinstallする際、言語ランタイムのソースコードからビルドをします。
なので、ビルドの依存関係になるライブラリ類やコンパイラ関係が必要になります。
そのインストールをします
$ sudo apt install build-essential zlib1g-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev tk-dev
4.python インストール
pythonのビルド&インストールをします。
例えばaws のlambdaに採用されているpythonのバージョンを3.9系をインストールしたい場合は下記のように指定します。
$ asdf install python 3.9.16
5.asdf でのバージョン指定
asdfでのglobal設定を先程インストールしたバージョンにセットすると
$ asdf global python 3.9.16
下記のようにpythonコマンドを呼びさせるようになります
$ python -V
Python 3.9.16
Discussion