2013-11-20 105 views

回答

530

前置URL前綴git+(見VCS Support):

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

,並指定分支名稱沒有前導/

+2

是mendatory指定分支或承諾'@'? – eugene

+3

@eugene,不,'@'和之後的部分是可選的。 – falsetru

+1

嘿,現在不需要放'樹',這個出錯了。 – SalahAdDin

200

使用pip和git +克隆版本庫可能會非常慢(例如,使用https://github.com/django/[email protected]/1.6.x進行測試,這將需要幾分鐘的時間)。最快的東西,我發現,這與GitHub的和到位桶的工作原理,是:

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

成爲Django的主人:

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

Django的穩定/ 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 

在這裏,主分支通常被命名爲default。 這將使您的requirements.txt安裝速度更快。

其他一些答案提到了將包裝安裝到您的requirements.txt時需要的變化。請注意,這個檔案的語法,領先-e和尾隨#egg=blah-blah需要,你可以只是簡單粘貼URL,所以你requirements.txt樣子:

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

**注意:從Django 1.9開始,Django附帶一個包含[unicode文件名](https://github.com/django/django/commit/bd059e3f8c6311dcaf8afe5e29ef373f7f84cf26)的文件。 pip扼流圈使用的拉鍊提取器。一個簡單的解決方法是在tar提取器工作時用'.tar.gz'替換'.zip'。 – spectras

+2

我想知道,當克隆使pip更有效時,整個git歷史記錄不需要爲pip安裝快照,但是pip可以通過'--depth 0'。 https://www.git-scm.com/docs/git-clone – cs01

+1

這也適用於提交哈希! 'pip安裝https:// github.com/django/django/archive/ebaa08b.zip' – Fush

32

只需添加一個額外的,如果要安裝在你的點子文件時,它可以添加這樣的:

-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

如果你想「額外」,將它們追加到他的片段中,就像這樣:''-e git + https://github.com/tangentlabs/[email protected] /34/oscar-0.6#egg=django-oscar-paypal [PDF]'' – ankostis