2016-10-15 5 views
10

私はPython(2.7)パッケージとともに公開Githubリポジトリで利用できるPythonパッケージを含める必要があります。私のパッケージは、pipでインストール可能で、setup.pyを使用してください。pipインストールのためのsetup.pyにgit依存関係を含める方法

setuptools.setup(
    name="my_package", 
    version="1.0", 
    install_requires=[ 
     "other_package==1.2" 
    ], 
    dependency_links=[ 
     "https://github.com/user/other_package/tarball/master#egg=other_package-1.2" 
    ]  
) 

これはまだパッケージは--process-dependency-linksフラグ付きでインストールされるときに動作しますが、dependency_links機能があるため、廃止されるようだ:

これまでのところ、これは setup.pyファイルに dependency_linksを使用して行うことができる

DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release. 
pip install git+https://github.com/user/[email protected]#egg=my_package-1.0 --process-dependency-links 

は私に次の警告を与えます

setup.pyファイルにgit依存関係を含める別の方法は、pipインストールをサポートしていますか?

のは、私がother_packageのバグを見つけましょう:私のユースケースを明確にする

編集(2016年10月17日)。私はGithubにそれぞれのレポをフォークし、バグを修正してプルリクエストを行います。プルリクエストがすぐに受け入れられない(または、パッケージがもはや積極的に管理されていないために決して受け入れられない)。 my_packageを私のother_packageのフォークと一緒に配布したいと考えており、この要件の詳細とインストール時に追加のフラグを指定する必要はなく、ユーザはmy_packageをインストールすることができます。 my_packageのユーザーはさらに、独自のカスタムパッケージの要件としてmy_packageを含めることができます。

これは、どのように車輪、卵、開発などのさまざまなインストールモードを念頭に置いても同じように達成できますか?

答えて

2

個人的には、gitリポジトリを依存関係として含めないでください。あなたが記述するシナリオでは、私は2つの選択肢を見る。

パッケージは、パッケージがメンテナンスされていない場合には、プロジェクトをフォークし、独自のバージョンを配布するか、独自のコードのサブモジュールなどとしてフォークコードを配布することができますすることができますいずれか

メンテナンスされていない(つまり含めます

個人的に私自身のバージョンを配布することを好みます。パッケージが含まれるようにまだ

はあなたのこの場合

バグ修正、私はバグが修正されるような時間まで、あなたのパッケージの一部として固定コードを配布します。

関連する問題