git repo şubesinden pip install


686

Çalışıyorum pipBir Repo belirli şube yükleyin. Google bana şunu söylüyor

pip install git + https://github.com/user/repo.git@branch

Şube adı issue/34/oscar-0.6öyle yaptım pip install https://github.com/tangentlabs/django-oscar-paypal.git@/issue/34/oscar-0.6ama 404 döndürüyor.

Bu dalı nasıl kurabilirim?

Yanıtlar:


932

URL önekini ekleyin git+(Bkz. VCS Desteği ):

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

Ve önde olmayan olmadan dal adını belirtin /.


5
şubeyi veya taahhütünü belirtmek zor @mu?
eugene

9
@eugene, Hayır @ve bundan sonraki bölümler isteğe bağlıdır.
16'da falsetru

3
Hey, artık gerekli değil tree, bu bir hatayla karşılaşıyor.
Salahaddin

6
Dallar için, örneğin:pip install -U git+https://github.com/danreeves/wagtailgmaps@3.0.0
SalahAdDin

3
Ayrıca git+https://github.com/adiralashiva8/robotframework-metrics@v3.1.4gereksinimlerinize böyle bir şey koyabilirsiniz pip install -r requirements.txt. Bu, Tag v3.1.4'ü ana şubeden yükleyecektir.
wlad

311

Bir havuzu kopyalamak için git + ile pip kullanmak son derece yavaş olabilir ( örneğin, https://github.com/django/django@stable/1.6.x ile test edin , birkaç dakika sürecektir). GitHub ve BitBucket ile çalışan bulduğum en hızlı şey:

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

django ustası için olan:

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

django için kararlı / 1.7.x:

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

BitBucket ile aynı tahmin edilebilir modelle ilgilidir:

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

Burada ana dal genellikle varsayılan olarak adlandırılır. Bu, gereksinimlerinizi yapacak. Txt yüklemesi çok daha hızlı.

Diğer bazı yanıtlar, paketinizi bilgisayarınıza yüklenirken gereken varyasyonlardan bahseder requirements.txt. Bu arşiv sözdizimi ile, önde gelen o Not -eve sondaki #egg=blah-blahedilir değil gereklidir ve sadece basitçe, URL'yi yapıştırın requirements.txt görünüyor gibi pek edebilirsiniz:

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

29
Not: Django 1.9'dan itibaren Django, unicode dosya adına sahip bir dosyayla birlikte gönderilir . Bunun üzerine pip bobinleri tarafından kullanılan fermuar çıkarıcı. Kolay bir geçici çözüm değiştirmektir .zipile .tar.gzkatran çıkarıcı çalışır gibi.
spectras

4
--depth 0Daha verimli hale getirmek için pip klonlama sırasında geçip geçemeyeceğini merak ediyorum (tüm git geçmişi pip için bir anlık görüntü yüklemek için gerekli değildir). git-scm.com/docs/git-clone
cs01

6
Bu aynı zamanda taahhüt karmaları için de geçerlidir! pip install https://github.com/django/django/archive/ebaa08b.zip
Fush

4
Hız farkını gösterdiğin için teşekkürler. Onları test etmedim ve karşılaştırmadım, ancak bir daldan yükleme yine de tüm repo geçmişini indirmeye neden olacağından, hız farkının mevcut olduğuna inanıyorum, bir .zip(veya .tar.gz) ' dan yükleme, yalnızca deponun anlık görüntüsünü indirmeye neden olacaktır.
RayLuo

Bu sözdizimini kullanarak ekstralar kurmak mümkün müdür? Örneğin, yayınlanmamış bir sürümle çalışmak için github.com/apache/incubator-airflow @ master (normal PyPI paketi apache- airflow) yüklemeye çalışıyorum . pip install apache-airflow[crypto, slack]Bu ekstraları yüklemek için çağrıyı arşiv sürümüne dönüştürmek istiyorum . Denedim pip install https://github.com/apache/incubator-airflow/archive/master.zip[crypto, slack]ama bu URL'yi ve yüklemeyi bozuyor.
Taylor Edmiston

67

Ssh kimlik bilgilerini kullanarak özel repo'dan yükleme talimatları :

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

51

Sadece bir ekstra eklemek için, pip dosyanıza yüklemek istiyorsanız, şu şekilde eklenebilir:

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

Yine de bir yumurta olarak kurtarılacaktır.


5
Olmadan kullanmak daha iyi -e. Bakınız: stackoverflow.com/a/34518202/451710
Eyal Levin

4
Yorum için teşekkürler, çok ilginç. Bence insanlar -ezaten var olan bir paketle olası çatışmaları önlemek için bayrağı kullanma eğilimindeler . Sanırım bir seçim meselesi
Hassek

4
Ve "ekstralar" istiyorsanız, onları parçaya ekleyin, şöyle:-e git+https://github.com/tangentlabs/django-oscar-paypal.git@issue/34/oscar-0.6#egg=django-oscar-paypal[PDF]
ankostis

-eAslında gerekli olmadığını unutmayın .
Taylor Edmiston

Nedense, benim için işe yaramıyor-e
Kurt Bourbaki

4

Yumurta dosyaları kurulum prosedürünü kullandınız. Üzerinden yükleme Bu prosedür destekleri git, git+http, git+https, git+ssh, git+gitve git+file. Bunlardan bazıları belirtilmiştir.

Yüklemek için dalları, etiketleri veya karmaları kullanmanız iyi olur.

@Steve_K, "git +" ile yüklenmenin yavaş olabileceğini ve zip dosyası ile yüklemeyi önerdiğini belirtti:

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

Alternatif olarak, .whlvarsa bu dosyayı kullanarak yüklemenizi öneririz .

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

Yumurta dosyalarından daha yeni bir format. Tekerlek ve kurulum araçları> = 0.8 paket gerektirir. Burada daha fazlasını bulabilirsiniz .


1
Soru github için belirtilmemiştir. Bir arşiv / branch.zip kavramı yalnızca github'a özgüdür.
Jorge Leitao

0

Bu cazibe gibi çalıştı:

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

Nerede :

geliştirmek: şube

fabric8-analytics-worker.git: Repo

deepak1725: kullanıcı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.