setuptools/distutils を使用してパッケージ データを含める
問題:
推奨手順に従っているにもかかわらずsetuptools を使用してパッケージ データを含める場合、インストーラーは関連ファイルの取り込みに失敗します。次のセットアップ コードにより、この機能が有効になります:
<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>
説明:
この問題は、package_data とより信頼性の高い MANIFEST.in の間の微妙な違いにより発生します。 package_data は主にバイナリ パッケージ (例: python setup.py bdist ...) をビルドするときに使用されますが、ソース パッケージ (例: python setup.py sdist ...) の作成には機能しません。
解決策:
バイナリ配布とソース配布の両方にパッケージ データを効果的に含めるには、MANIFEST.in を使用することをお勧めします。以下に例を示します。
include appname/data/*.txt
このファイルをプロジェクトのルートに配置します。これは、bdist コマンドと sdist コマンドの両方に、指定されたデータ ファイルを含めるように指示します。この方法により、構築されるディストリビューションの種類に関係なく、必要なデータが適切にパッケージ化されることが保証されます。
以上が私の `setup.py` にパッケージ データを含めることができないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。