最新Poetryセットアップと既存リポジトリでの実行手順を確認してみた

Poetryを利用するライブラリに触れる頻度が多くなったこともあり、ローカルで最新版をセットアップしてみました。
2023.03.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

活動圏内にて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サーバーが立っているため参加してみるのも手でしょう。