Install poetry#

Install#

Official HPにある以下のコマンドを実行
Ubuntuイメージを使ったDockerコンテナにインストールする場合,22.04じゃないとインストールできなかった..

$ curl -sSL https://install.python-poetry.org | python3 -

# PATHの追加
$ echo "export PATH="/home/ryoukun/.local/bin:$PATH"" >> ~/.bashrc

# Terminalを再起動しない場合,設定ファイルを手動でリロード
$ source ~/.bashrc

# インストールの確認
$ poetry --version

Install後にすること#

初期状態では,~/.poetry/ (Linux) に保存される.
コマンドを実行する際,環境生成のたびに参照パスが変わったりとめんど!!
そこで,プロジェクトフォルダ下に生成されるよう設定変更する.

$ poetry config --list
$ poetry config virtualenvs.in-project true

poetry自身のアップデート#

$ poetry self update

python versionの切り替え#

requirement: pyenv

$ pyenv install 3.11.4
$ pyenv local 3.11.4
$ poetry env use 3.11.4

PyPIに存在しないパッケージをインストール#

GPU版Pytorchのようなpip ... --index-url ...を必要とするとき
requirement: poetry 1.5.1

# pytorch+cpuの例
$ poetry source add torch_cpu --priority=explicit https://download.pytorch.org/whl/cpu
$ poetry add torch torchvision torchaudio --source torch_cpu

dependenciesにgroupを使う#

パッケージをグループに分けることができる
例えば,環境によってCPU版 or GPU版のグループを指定して,インストール
他には,開発用のパッケージを開発時のみグループで指定して,インストール

使い方は単純で,poetry add <package> --group <group name>で依存関係の追加
インストールする際に,poetry install --with <group name>とwithオプションで指定

オプションは色々ある.
with: mainに加えて,指定したグループもインストールする
only: 指定したグループのみ

requirement: poetry 1.5.1

# pytorch+cpu or gpuの例
$ poetry source add torch_cpu --priority=explicit https://download.pytorch.org/whl/cpu    # ダウンロード元の指定
$ poetry add torch torchvision torchaudio --source torch_cpu --group cpu                  # 依存関係の追加
$ poetry source add torch_gpu --priority=explicit https://download.pytorch.org/whl/cu117  # ダウンロードし元の指定
$ poetry add torch torchvision torchaudio --source torch_gpu --group gpu                  # 依存関係の追加
$ poetry install --with gpu  # cpuとすれば,CPU版がインストールできる                           # gpu版もインストール

Reference#

1, https://zenn.dev/zerebom/articles/b338784c8ac76a