June 2024
Intermediate to advanced
864 pages
12h 14m
Japanese
本章は、パッケージングエコシステムの開発に関するものであり、オンライン版の要約である。本章のオンライン版†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」セクションでは、こうした変更がなぜ必要だったのかが簡潔にまとめられている。最大の理由は、ビルドの要件を(おそらくトレースバックを調べて)発見するために ...