2016-08-16 102 views
25

我試過conda search --outdated,有很多過時的包,例如scipy是0.17.1,但最新的是0.18.0。但是,當我做conda update --all。它不會更新任何軟件包。anaconda更新所有可能的包裹?

更新1個

conda update --all --alt-hint 

Fetching package metadata ....... 
Solving package specifications: .......... 

# All requested packages already installed. 
# packages in environment at /home/user/opt/anaconda2: 
# 

更新2

我可以單獨更新這些包。我可以做conda update scipy。但爲什麼我無法一次更新所有這些?

+1

這可能是因爲最新的scipy具有衝突的依賴性。例如,它可能需要NumPy 1.11,但是您有不同的包需要NumPy 1.10。您可以嘗試'conda update --all --alt-hint'並查看它是否提供任何輸出...或者只是嘗試'conda update scipy'並查看會發生什麼(可能使用了--alt-hint標誌) – darthbith

+0

@darthbith請參考更新1.沒有有用的信息。 – Wang

+1

'但是爲什麼我不能一次更新所有的文件?'可能因爲你至少有一個包依賴於舊版本,因此沒有任何東西可以更新。 – cel

回答

35

conda update --all 

實際上是要走的路。但有可能存在未決衝突(阻止升級)。 Conda通常會非常明確地警告它們是否會發生

仍然可以手動升級軟件包,但我希望顯示一條警告(打破某種依賴關係)。

這就是爲什麼你'不能'提高他們所有人。

考慮您的更新:我想你可以分別升級他們每個人,但這樣做將不僅包括升級也是另一個包的降級也。

所以你仍然不能升級他們全部通過分別進行升級;依賴關係在更早或更晚的時候不能滿足,升級會再次降級已經升級的軟件包。或者通過明確調用ignore-dependencies -command來打破軟件包的兼容性(通常不需要!)。