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を追加する方法を例として示す。
開発用
開発時にしか使わないパッケージを追加するときは =–dev= オプションを指定する。 flake8を追加する方法を例として示す。
パッケージを削除する
利用しなくなったパッケージは poetry remove
で削除する。
flake8を削除する方法を例として示す。
Poetryではwhlキャッシュが利用されない?
pip + requirements.txtを用いた場合ではpipのキャッシュに.whlが生成され
る。インストール時にはキャッシュの有無が確認され存在すればそのキャッシュ
が使われる。これは pip install -r requirements.txt
を行ったときの挙
動であり、poetryでは内部でこの手法を行っていないためキャッシュにあ
る.whlファイルが参照されず再度ビルドが必要となった。回避方法がわからな
い。