24章プログラムと拡張のパッケージ化

本章は、パッケージングエコシステムの開発に関するものであり、オンライン版の要約である。本章のオンライン版†1は、本書のGitHubリポジトリで提供されている。オンライン版では、特にpoetryを取り上げ、従来のアプローチであるsetuptoolsと比較している(オンライン版の完全な内容は24.3節で確認できる)。poetryは標準準拠の現代的なPythonビルドシステムである。

他のユーザーやグループに配布しなければならないPythonコードがあるとしよう。あなたのマシンではちゃんと動いているが、他のユーザーのマシンでも動くようにするとなると少しややこしいことになる。この作業には、コードを適切なフォーマットでパッケージ化し、そのコードを待っているユーザーが利用できるようにすることも含まれる。

Pythonのパッケージングエコシステムの質と幅は前版から大幅に改善されており、そのドキュメントも構成と完全さの両面で改善されている。こうした改善は、「PEP 517 - A Build-System Independent Format for Source Trees」†2で勧告されている、特定のビルドシステムに依存しないPythonのソースツリーフォーマットを定義するための周到な取り組みと、「PEP 518 - Specifying Minimum Build System Requirements for Python Projects」†3のビルドシステムの最低限の要件に基づいている。PEP 518の「Rationale」セクションでは、こうした変更がなぜ必要だったのかが簡潔にまとめられている。最大の理由は、ビルドの要件を(おそらくトレースバックを調べて)発見するために ...

Get Pythonクイックリファレンス 第4版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.