【问题标题】:pip reinstall pkg and install dependencies that are not installed, but not install dependencies that are already installed?pip reinstall pkg 并安装未安装的依赖项,但不安装已安装的依赖项?
【发布时间】:2015-04-01 00:22:37
【问题描述】:

我知道我可以使用

pip --ignore-installed --no-deps

重新安装没有依赖关系的 pkg;但是,如果缺少依赖项,则无论如何都不会安装它。如何重新安装 pkg 并仅安装未安装的依赖项,而忽略已安装的依赖项?

【问题讨论】:

  • 使用普通的pip install,如果已经安装了任何依赖项,pip 会注意到并且不再安装它们。
  • @BrenBarn 但 pip install 无法重新安装 pkg
  • this answer 做你想做的事吗?
  • @BrenBarn 否。一旦指定了 --no-deps,也不会安装缺少的依赖项。
  • 我明白了。所以你问“我如何强制重新安装这个包,并安装未安装的依赖项,但不重新安装或修改任何已经安装的依赖项”?如果是这样,我认为您应该编辑您的问题以明确说明。从你目前的措辞方式来看还不清楚。

标签: python pip


【解决方案1】:

仅供后来偶然发现此问题的人使用-如果我正确理解您的问题,则此功能是不久前添加的。当它变成点子时,我将不得不抬头。升级策略“仅在需要时”是当前默认值,因此可以省略但是,作为一个 pythonista,显式优于隐式:)

pip install --upgrade --upgrade-strategy only-if-needed <package-name>

本质上,它所做的是升级包,如果需要,它将重新安装依赖项。这只会安装丢失或过时的依赖项。它不会升级已经满足包要求的依赖项即使有更新的版本也满足包要求

您可以在pip documentation 中阅读有关此功能的更多信息

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 2018-09-27
    • 2016-03-14
    • 2016-07-29
    • 2019-01-24
    • 1970-01-01
    • 2011-01-20
    • 2011-11-12
    • 2016-01-23
    相关资源
    最近更新 更多