2016-12-02 56 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'用戶的需求非常重要,所以它更新到最新的版本是較低的優先級。 –