Python向けパッケージマネージャ Poetry を試す

#79
2023.1.4

Pythonに触れる度に、毎回どのパッケージマネージャ・仮想環境を使ってプロジェクトの環境を構築すれば良いのかがわからず躓いてしまうのですが、Poetryなる新しいパッケージマネージャが登場しているようなので使ってしました。私はいつもnpmやYarnを使っているのですが、Poetryのコマンドラインインターフェースはそれらに近い印象なので、気に入っています。依存関係がTOMLファイルに記述されるのも良いです。

公式のインストール手順では、シェルスクリプトからインストールしているようですが、brewでもインストールすることができました。

% brew install poetry

で、インストールすることができます。パスも自動で通るようです。

% poetry --version
Poetry (version 1.3.1)

コマンド

よく使うであろう幾つかのコマンドです。これら以外にも、パッケージをパブリッシュするための機能もあるようです。

new

指定したディレクトリに新しいプロジェクトを生成します。

% poetry new <project_name>

init

現在のディレクトリにpyproject.tomlを作成します。対話的なインターフェースです。

% poetry init

add

指定したパッケージをプロジェクトにインストールします。

% poetry add <package_name>

remove

指定したパッケージをプロジェクトから削除します。

% poetry remove <package_name>

install

プロジェクトのpyproject.tomlに記されたパッケージをインストールします。

% poetry install

update

プロジェクトのpyproject.tomlの全ての依存パッケージをアップデートします。指定したパッケージだけをアップデートすることもできます。

% poetry update
% poetry update <package_name>

show

インストールされたパッケージの情報を表示します。パッケージ名を指定すると、詳細な情報が表示されます。

% poetry show
% poetry show <package_name>

run

プロジェクトのvirtualenv環境内でコマンドを実行します。以下の例では、main.pyを実行します。

% poetry run python main.py

pyproject.tomlに記述されているスクリプトを実行することもできるようです。

search

パッケージを検索します。

% poetry search <keyword>

list

Poetryのコマンドを一覧表示します。

% poetry list