2016-12-02 55 views
4

我在Windows 10下安装了Anaconda。一切工作正常。我也跑了为什么有些软件包可以在Pip中升级,而不是在Conda中升级?

conda upgrade --all 

在命令提示符下。

然而,我注意到,当我在命令提示输入:

pip list -o 

我得到(除其他外)

astroid (1.4.7) - Latest: 1.4.8 [wheel] 

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

有人可以解释为什么astroid看起来可以在Pip下升级,而不是在Conda下?

回答

3

package list maintained by Anaconda不同于PyPI。看来astroid尚未在Anaconda软件包列表中更新。

您可以等到更新Anaconda的可用,或者你可以temporarily use the version available via pip通过卸载畅达版本和安装PIP之一:

conda remove astroid 
pip install astroid 

当蟒蛇已经更新,扭转这两个切换回命令:

pip uninstall astroid 
conda install astroid 
+0

在网络上的一些帖子中,我看到有两个点,一个来自Anaconda和“原始”(或类似的东西)。如果我只是输入'pip install astroid'就像你建议的那样,它会是“正确”的点子? (对不起,如果这有点令人困惑,但我是初学者) – Soldalma

+0

@Soldalma'pip'应该始终指向您的Conda环境的正确可执行文件,因此您应该可以使用它。 – Aurora0001

2

它看起来像蟒蛇还没有更新astroid尚未 - 他们package list表明它仅适用于v1.4.7(选择的Python 3.5的顶部选项卡,按Ctrl + F astroid,或看on this page)。但是,astroid已更新Pip从中获取软件包的PyPI存储库,因此v1.4.8可通过Pip而不通过Anaconda获得。

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

+1

我的猜测是,一个抽象语法树是不是典型的'Anaconda'用户的需求非常重要,所以它更新到最新的版本是较低的优先级。 –