はじめに
Python をローカルで実行したいけれど、Anaconda は全員が使えるわけではない…ということでasdf とPoetry でPython を実行する環境を構築したいです。
※ asdf とは、Poetry とは、に関しては触れていません。構築手順のみです。
備忘録として記事にアウトプットします。
環境
OS : macOS
パッケージマネージャー : Homebrew
Python実行までの手順
asdf のインストール
1. 公式のasdf のダウンロード
以下を実行して、公式のasdf をダウンロードする
ターミナル
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
2. 依存関係のインストール
環境によって変わりますが、macOS
/ Homebrew
の場合は以下を実行して依存関係のインストールをする
ターミナル
brew install coreutils curl git
他の環境の場合はこちらを参照
3. asdf のインストール
使用しているシェル、OS、インストール方法によって変わりますが、Bash
/ macOS
/ Homebrew
の場合は以下を実行する
ターミナル
echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
他の環境の場合はこちら
asdf のversion を確認する
ターミナル
asdf version
参照 : asdf のインストールガイド
asdf でPython をインストール
- ターミナルで1行ずつ実行
ターミナル
% brew install openssl readline sqlite3 xz zlib tcl-tk % asdf plugin-add python % asdf list all python % cd XXX #ディレクトリ `XXX` に移動 % code . #VSCode を立ち上げる
- VSCode で[
XXX
] のフォルダを開く - 新しくファイルを作る
- 作成したファイルの名前を
.tool-versions
とする - ファイル内に
python 3.11.3
と書いて保存する - ターミナルで以下を実行する
ターミナル
asdf install
- 以下を実行してPython のバージョンを確認、3.11.3 であればOK
ターミナル
python --version
※
code .
がcommand not foundのとき
- VSCodeを起動する
- コマンドパレットを開き(Command+Shift+P)、
shell command
をクリックcode
コマンドをPATHコマンドにインストール- 再度ターミナルで
code .
を実行する
参照 : asdf-pythonのGitHub
asdfでPoetryをインストール
- ターミナルで1行ずつ実行
ターミナル
asdf plugin-list-all | grep poetry asdf plugin-add poetry
- 先ほど作成した
.tool-versions
ファイルにpoetry 1.8.3
と追記して保存 - 再度ターミナルで以下を実行
asdf install
- 以下を実行してPoetry のバージョンを確認
ターミナル
poetry --version
Poetry でプロジェクトを初期化
- ターミナルで以下を実行し、完了するまですべてEnter を押す
ターミナル
poetry init
- 実行していたフォルダに
pyproject.toml
というファイルが作成される - Python のバージョンを
python = 3.11.3
に書き換えて保存 - ターミナルで以下を実行
ターミナル
poetry config virtualenvs.in-project true --local
- 実行していたフォルダに
poetry.toml
というファイルが作成される - ターミナルで以下を実行
ターミナル
which python
- 実行で出てきたlocation をコピーして、ターミナルで以下を実行
poetry env use "コピーしたlocation"
- Python のバージョンを確認
poetry run python --version