poetry export で requirements.txt を生成する
ノートDependency
exportコマンドはPoetry 2.0以降では外部プラグインpoetry-plugin-exportとして提供される- 事前に
poetry self add poetry-plugin-exportでプラグインをインストールしておくこと - 不明な場合は
poetry self show pluginsでインストール済みプラグインが確認可能
command
poetry export -f requirements.txt -o requirements.txt --only $GROUP_ARG --without-hashes| Option / Variable | Alias | Description |
|---|---|---|
-f requirements.txt |
--format |
出力フォーマットを指定する.requirements.txt または constraints.txt が指定可能. |
-o requirements.txt |
--output |
出力先ファイル名を指定する.省略すると標準出力へ出力される. |
--only $GROUP_ARG |
--only |
指定した依存グループのみをエクスポート対象とする.例えば $GROUP_ARG=main なら main グループのみ,$GROUP_ARG=dev なら dev グループのみが出力される.他の依存グループは含まれない. |
--without-hashes |
- | エクスポート結果からパッケージハッシュ (--hash=sha256:...) を除外する.ハッシュ付き requirements ではすべての依存パッケージにハッシュが必要となるため,git 依存やローカルパス依存などハッシュを持たない依存が含まれる環境では pip install に失敗する場合がある.そのため互換性を重視する場合に指定する. |
ノート
poetry export は Poetry 1.2 以降では poetry-plugin-export プラグインとして 提供される.Poetry のバージョンによってはプラグインのインストールが必要になる.
Appendix: Lockファイルとは
glossary:
- def: lock file
description: |
プロジェクトが使用するすべての依存パッケージの具体的なバージョンを列挙したテキストファイルのこと.
lock file には次のような情報が記録され得る.
- 直接依存・間接(推移的)依存すべての正確なバージョン
- パッケージの完全性を検証するための暗号学的ハッシュ
- プラットフォーム固有の要件や制約
- 依存がどのように解決されたかのメタデータ
ノートLockファイルとcommit
- ライブラリを開発している場合,チームが常に同じ依存バージョンに対してテストしたいのであるならば
poetry.lockファイルをcommitする