ホームページ  >  記事  >  バックエンド開発  >  setuptools/distutils を使用してパッケージ データがバイナリ ディストリビューションとソース ディストリビューションの両方に含まれていることを確認する方法

setuptools/distutils を使用してパッケージ データがバイナリ ディストリビューションとソース ディストリビューションの両方に含まれていることを確認する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 06:13:02420ブラウズ

How to Ensure Your Package Data Is Included in Both Binary and Source Distributions Using setuptools/distutils?

setuptools/distutils によるパッケージ データの組み込みの課題の克服

パッケージ データを配布可能な Python パッケージに組み込むと、特に setuptools または distutils を使用する場合に課題が発生することがよくあります。従来の通念に従っているにもかかわらず、一部のユーザーは、インストーラーで目的のファイルを取得するのに困難に遭遇します。

package_data の落とし穴

質問に示されている構成:

<code class="python">setup(
   name='myapp',
   packages=find_packages(),
   package_data={
      'myapp': ['data/*.txt'],
   },
   include_package_data=True,
   zip_safe=False,
   install_requires=['distribute'],
)</code>

が表示されます。確立された文書に基づいて正しいこと。ただし、回答が鋭く指摘しているように、バイナリ ビルド (python setup.py bdist ...) を扱う場合、このアプローチは不十分です。このシナリオでは、package_data メカニズムは使用されません。

解決策: MANIFEST.in

バイナリ配布とソース配布の両方にパッケージ データを確実に含めるために、MANIFEST.in ファイルは堅牢な代替手段を提供します。 MANIFEST.in は、パッケージに組み込まれるファイルを明示的にリストするカスタマイズ可能なマニフェストです。この方法を使用すると、開発者は両方のインストール シナリオに必要なデータがすべて存在することを確認できます。

以上がsetuptools/distutils を使用してパッケージ データがバイナリ ディストリビューションとソース ディストリビューションの両方に含まれていることを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。