Poetry Lockファイルをrequirements.xtへ

python
poetry
作者

Ryo Nakagami

公開

2026-04-10

更新日

2026-06-15

poetry exportrequirements.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する