2015-09-06 202 views
0

比方說,我的requirements.txt文件是:PIP安裝-r:只安裝新的軟件包

diff-match-patch==20121119 
django-braces==1.4.0 
django-crispy-forms==1.4.0 

我安裝的所有軟件使用下面的命令:

pip install -r requirements.txt 

現在讓我們假設我想補充兩個包:

diff-match-patch==20121119 
django-braces==1.4.0 
django-crispy-forms==1.4.0 
django-custom-user==0.4 
django-import-export==0.2.3 

如果我要安裝新的軟件包只,也就是說,只有最後兩個1,什麼指令S我應該用嗎? 如果我再次運行命令pip install -r requirements.txt,它將下載並嘗試安裝所有內容,包括已安裝的軟件包!

+0

它不應該。 https://pip.pypa.io/en/latest/reference/pip_install.html#caching _「當進行任何HTTP請求時,pip將首先檢查其本地緩存,以確定它是否爲該請求存儲了合適的響應過期了,如果是,那麼它只是返回該響應並且不發出請求。「_ –

+0

我想這取決於緩存是否過期。 –

回答

1

如果您擔心只升級某些軟件包,可以使用pip install -U <package>手動升級軟件包。

如果您的問題不是每次都新鮮安裝所有依賴項,請不要擔心。如果您在沒有-U(或--upgrade)標誌的情況下運行pip install -r requirements.txt,它將不會嘗試更新以前安裝的軟件包,如this answer中所述。