活動圏内にてPoetryを使っているライブラリを見かける頻度が増して、且つ部分的に弄ったりすることも増えたため、ローカルでセットアップしてみました。
困ったのはバージョン毎にインストーラのスクリプトが違っていたり、既に404となっているケースもあること。先にインストールした人達はここらへんどうやって凌いだのだろうかと気になるものでした。
直近のセットアップ手順と、Poetryベースで開発等に触れる際の手続きややり方をおさらいしました。
セットアップの前に
古いセットアップスクリプト(https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py)経由のバージョンを使っていた場合は先ず削除しなければいけません。
ただし当時の手順は効きません。get-poetry.py自体がなくなっているためです。そして最新のスクリプトではカバーされていません。対処方法は古い実行用ファイルの直接削除となります。homebrew経由でのバージョンも導入済みだったので、念の為削除しました。
rm -rf "${POETRY_HOME:-~/.poetry}"
brew uninstall poetry
古いバージョンのアンインストール方法から探す必要のあるライブラリは個人的に初めてでした。一応公式でも触れられているのですが、アンインストール手順はインストールプロセス完了後に補足として書かれています。
セットアップ
筆者の環境はMacであるため以下の手続きとなりました。
$ curl -sSL https://install.python-poetry.org | python3 -
Retrieving Poetry metadata
# Welcome to Poetry!
This will download and install the latest version of Poetry,
a dependency and package manager for Python.
It will add the `poetry` command to Poetry's bin directory, located at:
/Users/xxxxxxxxxxxx/.local/bin
You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.
Installing Poetry (1.4.0): Done
Poetry (1.4.0) is installed now. Great!
You can test that everything is set up by executing:
`poetry --version`
$ poetry --version
Poetry (version 1.4.0)
補完を効かせる
今回はzshのケースのみ。他シェルのケースは公式ドキュメントを参照してください。
poetry completions zsh > ~/.zfunc/_poetry
compinitのautoloadは指定済みだったものの、.zfunc
のパスは未指定だったので追加しました。
fpath+=~/.zfunc
セットアップ
この辺りはバージョンで特に変わりありません。
portry install
コマンドの実行
既存リポジトリの開発への参加にて、tool.poetry.scripts
に指定されたコマンドがある場合は抑えておきたい手続きでしょう。
poetry run command
[tool.poetry.scripts]
notion2md = 'notion2md.console.application:main'
poetry run notion2md
GitHub Actionsを利用しているライブラリの場合、一番早いのはworkflowを確認することでしょう。
あとがき
一番悩まされたのは古いバージョンのアンインストール手続きかもしれません。手順を検索して出てきた結果が古いバージョンの手続きだと404でエラーになる状態から先に進めず、公式のドキュメントを探すところから始まる状況です。
プログラミング言語においてはGoogle検索の検索結果を英語にしておくと比較的公式にたどり着きやすくなります。頭を抱えている場合には尚おすすめです。PoetryはDiscordサーバーが立っているため参加してみるのも手でしょう。