私が書いている Python パッケージのディストリビューションを開発しているので、PyPI に投稿できます。distutils、setuptools、distribute、pip、setup.pyなどを扱うのは初めてで、予想よりもかなり急な学習曲線に少し苦労しています:)
setup.pyのパラメーターで指定することで、テスト データ ファイルの一部を tarball に含めるのに少し苦労していましたが、別の投稿でそのファイルdata_files
を指し示してくれました。MANIFEST.in
ちょうどその時、tarball/zip に含めるもの (MANIFEST.in を使用) と、ユーザーが easy_install などを実行したときにユーザーの Python 環境にインストールされるもの (で指定した内容に基づくsetup.py
) は、2 つの非常に異なるものであるという考えに気付きました。 ; 一般に、tarball には実際にインストールされるよりもはるかに多くのものがあります。
これはすぐにコードの匂いがして、ディストリビューションには複数のユースケースが必要であることに気づきました。easy_install または pip を使用してライブラリをインストールする、私が実際に参加した唯一のものに固執していました。そして、自分が開発しているエンドユーザーを部分的にしか理解していない作業製品を開発していることに気付きました.
そこで私の質問は次のとおりです。「Python 環境にインストールする以外に、Python ディストリビューションの使用例は何ですか? このディストリビューションで他に誰にサービスを提供していて、彼らは何を最も気にかけているのでしょうか?」
答えに関係する、まだ理解していない作業上の問題のいくつかを次に示します。
ソース管理 (git) の下にあるすべてのものをソース配布に含めることは賢明なことですか? github の時代に、ソース ディストリビューションをダウンロードしてプロジェクト ソース全体にアクセスする人はいますか? それとも、私の github リポジトリへのリンクを投稿するだけですか? すべてを含めると、ディストリビューションが肥大化して、インストールしたいだけの人がダウンロードするのに時間がかかりませんか?
readthedocs.org でドキュメントをホストします。ソース配布物にドキュメントの HTML バージョンを含めることは意味がありますか?
python setup.py test
ソースディストリビューションでテストを実行するために使用する人はいますか? もしそうなら、彼らはどのような役割を果たしており、どのような状況にありますか? それを機能させることに煩わされるべきかどうか、もしそうするなら、誰のために機能させるべきかわかりません。