2015-09-06 158 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中所述。