anaconda update all possible packages?

I tried the conda search --outdated, there are lots of outdated packages, for example the scipy is 0.17.1 but the latest is 0.18.0. However, when I do the conda update --all. It will not update any packages.

update 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:

update 2

I can update those packages separately. I can do conda update scipy. But why I cannot update all of them in one go?

TL;DR: dependency conflicts

You are right:

    conda update --all

is actually the way to go. Conda always tries to upgrade the packages to the newest version in the series (say Python 2.x or 3.x). But it is possible that there are dependency conflicts (which prevent a further upgrade). Conda usually warns very explicitly if they occur.

e.g. X requires Y <5.0, so Y will never be >= 5.0

That's why you 'cannot' upgrate them all.

Considering your update : You can upgrade them each separately, but doing so will not only include an upgrade but also a downgrade of another package as well. Say, to add to the example above:

X > 2.0 requires Y < 5.0, X < 2.0 requires Y > 5.0

So upgrading Y > 5.0 implies downgrading X to < 2.0 and vice versa.

( this is a pedagogical example, of course, but it's the same in reality, usually just with more complicated dependencies and sub-dependencies )

So you still cannot upgrade them all by doing the upgrades separately; the dependencies are just not satisfiable so earlier or later, an upgrade will downgrade an already upgraded package again. Or break the compatibility of the packages (which you usually don't want!), which is only possible by explicitly invoking an ignore-dependencies and force -command. But that is only to hack your way around issues, definitely not the normal-user case!


Back to homepage or read more recommendations: