« ^ »

Poetryでパッケージを管理する

所要時間: 約 2分

poetryを用いたパッケージの管理方法にシフトするためにいくつかの手順を示す。 この内容はpoetryのドキュメントの必要な部分をかいつまんだものとなっている。

パッケージをインストールする

venvをpoetryで新たに作成してインストールする

poetry install

インストール後のpythonを利用するには poetry run コマンドを利用する。

poetry run python

既存の環境を利用する

poetryによって環境を作ることなくpoetryを利用する。

POETRY_VIRTUALENVS_CREATE=false poetry install

この場合、パッケージは現在解決できるPyhtonの環境にインストールされる。 それがグローバルであればグローバルにインストールされるし、予め作成した venv内であればそのvenvにパッケージがインストールされる。

この場合その環境のPyhtonを利用するときに poetry run を使う必要はなく 通常の方法でコマンドを起動すればよい。

開発用のパッケージを含まずにインストールする

開発用のパッケージを含めたくない場合 --no-dev オプションを指定する。

poetry install --no-dev

パッケージを追加する

通常

新しくパッケージを追加するには poetry add コマンドを用いる。 djangoを追加する方法を例として示す。

poetry add django
Djangoを追加する

開発用

開発時にしか使わないパッケージを追加するときは =–dev= オプションを指定する。 flake8を追加する方法を例として示す。

poetry add flake8 --dev
flake8を追加する

パッケージを削除する

利用しなくなったパッケージは poetry remove で削除する。 flake8を削除する方法を例として示す。

poetry remove flake8
flake8を削除する

Poetryではwhlキャッシュが利用されない?

pip + requirements.txtを用いた場合ではpipのキャッシュに.whlが生成され る。インストール時にはキャッシュの有無が確認され存在すればそのキャッシュ が使われる。これは pip install -r requirements.txt を行ったときの挙 動であり、poetryでは内部でこの手法を行っていないためキャッシュにあ る.whlファイルが参照されず再度ビルドが必要となった。回避方法がわからな い。