Poetry からsetup.py を自動生成する
現状の Poetry では、pyproject.toml
を基にした setup.py
の直接的な自動生成をサポートしていない。
Support generation of poetry manged setup.py file #761
え?なんで setup.py
が必要なんですか? poetry build
で生成される source
と wheels
で事足りるんじゃないですかというツッコミがあると思います。
PyPI
や Jflog
などでホストせずに、GitHub のリポジトリでパッケージを管理したり、特定のサブディレクトリをパッケージとして扱う際には、未だ setup.py
での依存関係の記述が必要です。
Poetry による実現方法
poetry build コマンドと Makefile を組み合わせることで、pyproject.toml
に対応した setup.py
の自動生成ができるのでそれを採用します。
コマンドはGitHub のissues でのコメントを参考にしました。 1
# package name
PACKAGE = lib
.PHONY: build-package
build-package: ## Generate setup.py by poetry command for shared package
poetry build
# source ./dist で解凍
tar zxvf dist/$(PACKAGE).tar.gz -C ./dist
# setup.py を手元にコピー
cp dist/$(PACKAGE)/setup.py setup.py
# poetry build で生成されたファイルをすべて削除
rm -rf dist
関連しているかもしれない記事
- KyTeaをPythonで扱えるMykyteaを使うために必要なこと
- Pythonで変数を挿入してSQLクエリを柔軟に構築する
- pipenv のversion 2020.11.15 でローカルパッケージが正常にインストールされないときの対処法
- pip 実行時に sys.stderr.write(f"ERROR: {exc} ") とエラーが出てpipを実行できないときの対処方法
- PythonでApache beam 入門
📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。
このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。
このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。