【问题标题】:How to list outdated pip packages only on anaconda?如何仅在 anaconda 上列出过时的 pip 包?
【发布时间】:2018-09-01 00:02:57
【问题描述】:

我将列出所有仅在 anaconda 中使用 pip 安装的过时 python 包。不会显示 Conda 包。

如果我运行pip list --outdated,则会显示所有过时的包,包括 pip 和 conda。我只想显示过时的 pip 包。

我在 Windows 10 上使用 anaconda python v3.6 64 位。

【问题讨论】:

    标签: python pip anaconda conda


    【解决方案1】:

    答案不正确: “pip list --outdated”将返回所有过时的包,包括由 conda 安装的包,即使你刚刚做了“conda update --all”。这是因为将包从“pip”存储库传播到“conda”存储库存在一些延迟。一般来说,不建议通过 pip 更新 conda 安装的软件包(除非您真的需要它并且知道自己在做什么,但最好还是等几周)。

    与“conda list”相同 - 它会报告所有已安装的软件包。通道名称“pypi”可能表示包是由“pip”安装的,但它没有必要可靠,因为您可以在pip中使用其他通道,并在conda中使用“Pypi”通道。

    回到点子。理论上,“pip list [--outdated]”中有可用的选项“-v”。它将提供附加列“安装程序”,其中包含 pip/conda 文本。实际上,这些信息完全无关紧要,因为 conda 随机放置“pip”或“conda”。

    我确实在 github/pip 中创建了问题。在那里查看更多细节。简而言之:没有人想以正确的方式解决它,所以我必须使用自己不完美的解决方法来为自己解决这个问题。 https://github.com/pypa/pip/issues/8415

    【讨论】:

      【解决方案2】:

      您可以在以下各项之间设置差异:

      通过以下方式获得的所有所有 pip 过时的包:

      $ pip list --outdated
      

      所有 conda 安装的包都是通过以下方式获得的:

      $ conda list
      

      这将从pip list --outdated返回的列表中删除之前使用 conda 安装的过时软件包,为您提供通过 pip 安装的过时软件包列表。

      【讨论】:

      • 感谢您的回答。是否有一个命令可以在 2 个输出之间设置差异?
      • 是的,在 python 中有,命令行也有。恐怕 IDK 如何使用命令行。
      猜你喜欢
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 2023-01-30
      • 2014-10-17
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多