ホームページ  >  記事  >  バックエンド開発  >  `package_data` が Python Setuptools にデータ ファイルを含めることができないのはなぜですか?

`package_data` が Python Setuptools にデータ ファイルを含めることができないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 21:21:29784ブラウズ

Why Does `package_data` Fail to Include Data Files in Python Setuptools?

Setuptools または Distutils を使用したセットアップにパッケージ データを含める

setuptools を使用する場合、パッケージ データをインストール プロセスに統合するときに障害が発生する可能性があります。ドキュメントでは package_data を使用してファイルの包含を指定することを推奨していますが、ユーザーはこのアプローチを実装する際に問題に直面します。

次のコード スニペットを考えてみましょう。

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

この例では、package_data ディクショナリはすべてを含めることを目的としています。 .txt ファイルは myapp/data/ ディレクトリにあります。注意してください。このメカニズムは効果がありません。

代替アプローチ: MANIFEST.in

package_data に依存するのではなく、MANIFEST.in ファイルを利用して、保存するファイルを指定します。含まれています。この方法は、バイナリ配布とソース配布の両方でシームレスに機能します。

MANIFEST.in ファイルを作成するには、次の行を追加します。

include data/*

この場合、データ内のすべてのファイルが保証されます。 / ディレクトリはインストール プロセスに含まれます。

MANIFEST.in アプローチを採用することで、バイナリとソースの両方の配布に含まれるパッケージ データを効果的に管理できます。

以上が`package_data` が Python Setuptools にデータ ファイルを含めることができないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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