Poetryの使い方

RustやGoが従来の言語より明らかに優れていると万人が認めるポイントはパッケージ管理システムではないかと思います。翻ってCやPythonはパッケージ管理がクソ面倒だし、testとかを追加するのもまあかったるく、複雑なソフトウェアやライブラリを作ろうとすると悲しくなります。

Pythonでもこれをどうにかしようといろいろなパッケージマネージャが作られているのですが、その一つにPoetryというものがあります。使ってみたら割とcargoとかのレベルで使えたので、その感動をメモしておこうと思います。まあ、この程度の最低限で感動などと言っているのもそれはそれで悲しくなるわけですが…。

インストール

公式サイトを見る。なお注意点として、最新バージョンにアップデートすること。0.1台は機能がしょぼいです。

使い方

poetry new PROJ_NAME

でもろもろやってくれます。cargoみたい。 実行するには、PROJ_NAMEディレクトリに移動し、

poetry install
poetry run shell

すればpythonでvirtualenv内のpythonが立ち上がるいい感じのシェルを用意してくれます。 うれしいのはtestも追加してくれること。

poetry run python -m pytest

でおk。

また、cargoよろしくPyPIへのpublishもできます。

poetry publish --build

便利。

Pythonのバージョン

ライブラリとかだとPython2,3両方で試してみたくなるわけですが、バージョンを変えるには

poetry env use python3

とかすればいいです。バイナリがない場合はpyenvとか使うみたいですがあんまり使いたくない。

未確認情報

昔使ったときはvscode + WSLとの相性がクッソ悪く悲しかったわけですが、ここによるとvirtualenvを適当に認識させてやればよいらしい。要確認。

Comments

comments powered by Disqus