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 サイトの他の関連記事を参照してください。