の「Python 配布」ガイドdoc/txt
ファイルを含めるように指示され、ファイル.py
には除外されるファイルがありますMANIFEST.in
のソースディストドキュメントsdist はMANIFEST.in
指定したファイルのみを使用し、ファイルを含めるように指示します。また、を生成するには.py
: を使用するように指示しますが、Python ではこれが存在しないと表示されます。python setup.py sdist --manifest-only
MANIFEST
これらは Python の異なるバージョンからのものであり、配布システムが完全に混乱していることは承知していますが、Python 3 とsetuptools
(distribute を含むが現在は setuptools と呼ばれる新しいものであり、distribute ツール用に非推奨になった古い setuptools ではなく、distribute に復活し、distribute が setuptools に名前変更されたものです) を使用していると仮定します。
私は「標準」のフォルダ構造とsetup.py
ファイルに従っています。
- が必要ですか
MANIFEST.in
? - そこには何が入っているべきでしょうか?
- これらすべての異なるパッケージ システムと方法が 1 つのシンプルなプロセスに統合されるのはいつでしょうか?
ベストアンサー1
Re: 「MANIFEST.in は必要ですか?
いいえ、 を使用する必要はありませんMANIFEST.in
。distutils
と は両方とも、 - モジュール、パッケージ python ファイル、およびsetuptools
に記載されているすべてのファイルをソース配布パッケージに含めます。 配布パッケージに含めるのがこれだけであれば、 を使用する必要はありません。setup.py
README.txt
test/test*.py
MANIFEST.in
含めるデフォルトのファイルを操作 (追加または削除) する場合は、 を使用する必要がありますMANIFEST.in
。
Re: 中には何を入れたらいいですか?
手順は簡単です:
プログラムの実行に重要と思われるすべてのファイル (モジュール、パッケージ、スクリプトなど) を
setup.py
(引数を使用して)必ず含めてください。setup
追加するファイルや除外するファイルがあるかどうかを明確にします。どちらも必要ない場合は、 を使用する必要はありません
MANIFEST.in
。MANIFEST.in
必要な場合は作成します。通常は、そこにtests*/*.py
ファイルを追加しますが、README.rst
使用しない場合はREADME.txt
、docs
ファイルと、必要に応じてテスト スイート用のデータ ファイルを追加します。
例えば:
include README.rst
include COPYING.txt
テストするには、 を実行しpython setup.py sdist
、 の下に作成された tarball を調べますdist/
。
これらすべての異なるパッケージ システムはいつになったら ...
今日の状況と 2 年前の状況を比較すると、状況ははるかに良くなっていますsetuptools
。これが正しい方法です。この事実は無視できます。distutils
少し壊れていて、低レベルの基盤であるため、これらのことをあなたから隠すsetuptools
ようsetuptools
に注意します。
編集: 配布パッケージを構築するために私が最近使用したいくつかのプロジェクトpbr
では、3行setup.py
と残りが と にありますsetup.cfg
。やその他の奇妙なものrequirements.txt
を気にする必要はありませんMANIFEST.in
。パッケージにはもう少しドキュメントが必要ですが。詳しくはこちら