【问题标题】:pip install -r: install only new packagespip install -r:只安装新包
【发布时间】:2015-12-02 08:18:57
【问题描述】:

假设我的requirements.txt 文件是:

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

如果我只想安装新的包,即只安装最后两个包,我应该使用什么命令? 如果我再次运行命令pip install -r requirements.txt,它将下载并尝试安装所有内容,包括已经安装的软件包!

【问题讨论】:

  • 不应该。 pip.pypa.io/en/latest/reference/pip_install.html#caching "当发出任何 HTTP 请求时,pip 将首先检查其本地缓存以确定它是否为该请求存储了未过期的合适响应。如果有,那么它只是返回该响应并且不进行请求。”
  • 我猜这取决于缓存是否过期。

标签: python installation pip packages


【解决方案1】:

如果您担心只升级某些软件包,您可以使用 pip install -U <package> 手动升级软件包。

如果您担心的不是每次都重新安装所有依赖项,请不要担心。如果您在没有 -U(或 --upgrade)标志的情况下运行 pip install -r requirements.txt,它不会尝试更新以前安装的软件包,如 this answer 中所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 2020-07-31
    • 2013-07-21
    • 2020-04-22
    • 1970-01-01
    相关资源
    最近更新 更多