【问题标题】:Why some packages are upgradable in Pip, not in Conda? [duplicate]为什么有些包可以在 Pip 中升级,而不是在 Conda 中? [复制]
【发布时间】:2017-04-17 17:34:22
【问题描述】:

我在 Windows 10 下安装了 Anaconda。一切正常。我也跑了

conda upgrade --all

在命令提示符下。

但是,我注意到当我在命令提示符下键入以下内容时:

pip list -o

我得到(除其他外)

astroid (1.4.7) - Latest: 1.4.8 [wheel]

这意味着包 astroid 可以在 pip 下升级。但是,当我转到 Anaconda Navigator 并查看可升级包的列表时,我没有在其中看到 astroid。 (我无法找到查看哪些软件包可在 Conda 下升级的命令行方式)。

有人可以解释为什么astroid 在 Pip 下显示为可升级,而不是在 Conda 下显示为可升级吗?

【问题讨论】:

    标签: python pip conda


    【解决方案1】:

    package list maintained by Anaconda 与 PyPI 不同。 Anaconda 包列表中似乎还没有更新astroid。

    您可以等到 Anaconda 中的更新可用,也可以通过卸载 conda 版本并安装 pip 来temporarily use the version available via pip:

    conda remove astroid
    pip install astroid
    

    当 Anaconda 更新后,反转这两个命令以切换回来:

    pip uninstall astroid
    conda install astroid
    

    【讨论】:

    • 在网上的一些帖子中,我看到有两个点,一个来自 Anaconda,一个来自“原始”(或类似的东西)。如果我像你建议的那样输入pip install astroid,它会是“正确的”点吗? (对不起,如果这有点令人困惑,但我是初学者)
    • @Soldalma pip 应该始终为您的 Conda 环境引用正确的可执行文件,因此您应该可以使用它。
    【解决方案2】:

    Anaconda 似乎还没有更新 astroid - 他们的 package list 显示它仅适用于 v1.4.7(在顶部选项卡中选择 Python 3.5 和 Ctrl+F astroid,或查看 on this page )。但是,astroid 已经更新了 Pip 从中获取包的 PyPI 存储库,因此 v1.4.8 可以通过 Pip 而不是通过 Anaconda 获得。

    至于为什么软件包没有升级 - 我不太确定。自发布以来已经有很多时间了,没有任何解释为什么他们不会升级,所以我真的说不出来。不过,如果您需要最新版本,通过 pip 安装应该没问题。

    【讨论】:

    • 我的猜测是抽象语法树对于典型的Anaconda 用户的需求并不是很重要,因此将其更新到最新版本的优先级较低。
    猜你喜欢
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 2011-02-21
    • 2013-06-17
    • 2021-11-11
    • 2019-01-30
    • 2021-05-23
    • 1970-01-01
    相关资源
    最近更新 更多