2013-11-20 19 views
373

しようとするとpipレポの特定のブランチをインストールします。 GoogleがインストールPIPpip install git repo branch

に私に語っhttps://github.com/user/[email protected]

支店の名前は私がpip install https://github.com/tangentlabs/[email protected]/issue/34/oscar-0.6が、その私はこのブランチをインストールするにはどうすればよい404

を返すをしたissue/34/oscar-0.6のですか?

答えて

530

前に付加URLプレフィックスgit+VCS Supportを参照してください):

pip install git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6 

と先頭/せずにブランチ名を指定します。

+2

は、ブランチを指定するか、 '@'でコミットすることがmendatoryのですか? – eugene

+3

@eugene、No、 '@'およびそれ以降の部分はオプションです。 – falsetru

+1

ねえ、今は 'tree'を置く必要はありませんが、これはエラーを起こします。 – SalahAdDin

200

git +でpipを使ってリポジトリをクローンすると、非常に遅くなることがあります(例えば、https://github.com/django/[email protected]/1.6.xでテストすると数分かかります)。 GitHubのとのBitbucketと連携し、私が見つけた最速のものは、次のとおりです。ジャンゴ安定/ 1.7.x用

pip install https://github.com/django/django/archive/master.zip 

pip install https://github.com/django/django/archive/stable/1.7.x.zip 
Djangoのマスターのためになり

pip install https://github.com/user/repository/archive/branch.zip 

BitBucketと同じ予測可能なパターンです:

pip install https://bitbucket.org/izi/django-admin-tools/get/default.zip 

ここでは、マスターブランチは一般にdefaultという名前です。 これにより、requirements.txtのインストールがはるかに高速になります。

その他の回答には、インストールするパッケージをrequirements.txtに置くときに必要なバリエーションが記載されています。場合は、単に余分を追加する

https://github.com/user/repository/archive/branch.zip 
+14

**注:** Django 1.9以降、Djangoには[unicode filename](https://github.com/django/django/commit/bd059e3f8c6311dcaf8afe5e29ef373f7f84cf26)のファイルが添付されています。それにピップチョークで使用されているジップエクストラクタ。簡単な回避策は、 '.zip'を' .tar.gz'に置き換えることです。 – spectras

+2

より効率的になるように、ピップが '--depth 0'を渡すことができるのだろうか(gitの履歴はpipのスナップショットをインストールするためには必要ありません)。 https://www.git-scm.com/docs/git-clone – cs01

+1

これはコミットハッシュでも機能します! 'pip install https:// github.com/django/django/archive/ebaa08b.zip' – Fush

32

:このアーカイブ構文で、大手-e#egg=blah-blah末尾が必要ないで、あなたのrequirements.txtがどのように見えるので、あなたは単に、URLを貼り付けることができますことに注意してくださいあなたのpipファイルにインストールしたいのですが、次のように追加することができます:

-e git+https://github.com/tangentlabs/[email protected]/34/oscar-0.6#egg=django-oscar-paypal 

これは卵として保存されます。

+2

'-e'なしで使う方が良いです。参照してください:http://stackoverflow.com/a/34518202/451710 –

+3

非常に興味深いコメントをいただきありがとうございます。私はすでに存在するパッケージとの衝突を回避するために '-e'フラグを使う傾向があると思います。私は選択の問題だと思う。 – Hassek

+3

そして、もしあなたが "extras"を望むなら、そのような断片にそれらを追加する: '' -e git + https://github.com/tangentlabs/[email protected] /34/oscar-0.6#egg=django-oscar-paypal [PDF] '' – ankostis