git repoブランチからのpipインストール


685

pipリポジトリの特定のブランチをインストールしようとしています。グーグルは私に言う

pipインストールgit + https://github.com/user/repo.git@branch

ブランチの名前はissue/34/oscar-0.6そうですがpip install https://github.com/tangentlabs/django-oscar-paypal.git@/issue/34/oscar-0.6、404を返します。

このブランチをインストールするにはどうすればよいですか?

回答:


931

URLプレフィックスを付加しますgit+VCSサポートを参照):

pip install git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6

そして、先頭にブランチ名を付けずに指定します/


5
ブランチまたはコミットを指定することは必須@ですか?
ユージーン2016年

9
@ eugene、No、@およびその後のパーツはオプションです。
falsetru '19年

3
ねえ、今は必要なput treeではありません、これはエラーになります。
SalahAdDin 2017年

6
例えば、枝のためである:pip install -U git+https://github.com/danreeves/wagtailgmaps@3.0.0
SalahAdDin

3
このようなものをgit+https://github.com/adiralashiva8/robotframework-metrics@v3.1.4requirements.txtに入れて、でインストールすることもできますpip install -r requirements.txt。これにより、マスターブランチからTag v3.1.4がインストールされます。
ウラッド、

311

git +でpipを使用してリポジトリを複製すると、非常に遅くなる可能性があります(たとえば、https://github.com/django/django@stable/1.6.xでテストすると、数分かかります)。GitHubとBitBucketで動作する、私が見つけた最速のものは次のとおりです。

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

これはdjangoマスター用になります:

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

django stable / 1.7.xの場合:

pip install https://github.com/django/django/archive/stable/1.7.x.zip

BitBucketを使用すると、ほぼ予測可能なパターンになります。

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

ここでは、マスターブランチは一般にデフォルトと呼ばれます。これにより、requirements.txtのインストールがはるかに速くなります。

他のいくつかの回答では、インストールするパッケージをに配置するときに必要なバリエーションについて言及していますrequirements.txt。(注)このアーカイブ構文で、大手こと-eと末尾が#egg=blah-blahされていない必要、とあなたは単にURLを貼り付けることができ、あなたのようなrequirements.txtルックスはそう:

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

29
注: Django 1.9以降、DjangoにはUnicodeファイル名のファイルが付属しています。その上でピップチョークによって使用されるzipエクストラクター。簡単な回避策は、交換することである.zip.tar.gzタール抽出作品として、。
16

4
--depth 0それをより効率的にするためにクローンを作成するときにpipがパスできるかどうか疑問に思います(pipのスナップショットをインストールするためにgit履歴全体が必要ではありません)。git-scm.com/docs/git-clone
cs01

6
これは、コミットハッシュでも機能します。pip install https://github.com/django/django/archive/ebaa08b.zip
2017

4
速度の違いを指摘していただきありがとうございます。私はそれらをテストして比較しませんでしたが、ブランチからインストールするとレポ履歴全体がダウンロードされ、一方.zip(または.tar.gz)からインストールするとレポのスナップショットのみがダウンロードされるため、速度の違いはあると思います。
RayLuo

この構文を使用してエキストラをインストールすることは可能ですか?たとえば、私はgithub.com/apache/incubator-airflow @ master(通常のPyPIパッケージはapache- airflow)をインストールして、リリースされていないバージョンで動作するようにしています。pip install apache-airflow[crypto, slack]アーカイブバージョンでこれらの追加機能をインストールするように呼び出しを変換したいと思います。私は試しましたpip install https://github.com/apache/incubator-airflow/archive/master.zip[crypto, slack]が、これはURLとインストールを壊します。
テイラーエドミストン2017

67

ssh資格情報を使用してプライベートリポジトリからインストールする手順:

$ pip install git+ssh://git@github.com/myuser/foo.git@my_version

51

追加するだけで、pipファイルにインストールしたい場合は、次のように追加できます。

-e git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6#egg=django-oscar-paypal

ただし、卵として保存されます。


5
なしで使用する方が良い-e。参照:stackoverflow.com/a/34518202/451710
Eyal Levin

4
コメントをありがとう、とても面白い。-e既存のパッケージとの競合を避けるために、このフラグを使用する傾向があると思います。選択の問題だと思います
Hassek

4
:あなたは、「エキストラ」をしたいなら、彼はそのような、断片化してそれらを追加-e git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6#egg=django-oscar-paypal[PDF]
ankostis

注ことを-e実際に必要とされていないようです。
テイラーエドミストン2017

何らかの理由で、それがなければ私にはうまく-e
Kurt Bourbaki 2018年

4

eggファイルのインストール手順を使用しました。上書きインストールこの手順のサポートgitgit+httpgit+httpsgit+sshgit+gitgit+file。これらのいくつかが言及されています。

ブランチ、タグ、またはハッシュを使用してインストールできるのは良いことです。

@Steve_Kは、 "git +"でのインストールには時間がかかる可能性があることを指摘し、zipファイル経由でのインストールを提案しました。

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

または、.whlこのファイルが存在する場合は、そのファイルを使用してインストールすることをお勧めします。

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

これはかなり新しい形式で、eggファイルよりも新しい形式です。wheelとsetuptools> = 0.8パッケージが必要です。あなたはここでもっと見つけることができます。


1
質問はgithubに指定されていません。archive / branch.zipの概念はgithubのみに固有です。
Jorge Leitao

0

これは魅力のように機能しました:

pip3 install git+https://github.com/deepak1725/fabric8-analytics-worker.git@develop

どこ :

開発:ブランチ

fabric8-分析-worker.git:レポ

deepak1725:ユーザー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.