首页 > 解决方案 > 如何仅在 anaconda 上列出过时的 pip 包?

问题描述

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

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

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

标签: pythonpipanacondaconda

解决方案


答案不正确:“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


推荐阅读