ContinuumIO / anaconda-issues

Anaconda issue tracking
648 stars 223 forks source link

anaconda update attempts to roll back individually updated packages #39

Closed lyonj closed 7 years ago

lyonj commented 10 years ago

conda update numba

Updating conda environment at C:\Anaconda

The following packages will be downloaded:

package build
conda-2.2.1 py27_0 129 KB
llvmmath-0.1.2 np17py27_0 83 KB
llvmpy-0.12.1 py27_0 6.1 MB
numba-0.11.1 np17py27_0 1.0 MB

The following packages will be UN-linked:

package build
conda-2.1.0 py27_0
llvmmath-0.1.1 np17py27_2
llvmpy-0.12.0 py27_0
numba-0.11.0 np17py27_0

The following packages will be linked:

package build
conda-2.2.1 py27_0 hard-link
llvmmath-0.1.2 np17py27_0 hard-link
llvmpy-0.12.1 py27_0 hard-link
numba-0.11.1 np17py27_0 hard-link

Proceed ([y]/n)? y

Fetching packages ... conda-2.2.1-py27_0.tar.bz2 100% |###################| Time: 0:00:00 0.00 B/s llvmmath-0.1.2-np17py27_0.tar.bz2 100% |############| Time: 0:00:00 8.49 MB/s llvmpy-0.12.1-py27_0.tar.bz2 100% |#################| Time: 0:00:04 1.37 MB/s numba-0.11.1-np17py27_0.tar.bz2 100% |##############| Time: 0:00:02 417.39 kB/s Extracting packages ... [ COMPLETE ] |#################################################| 100% Unlinking packages ... [ COMPLETE ] |#################################################| 100% Linking packages ... [ COMPLETE ] |#################################################| 100%

conda update anaconda

Updating conda environment at C:\Anaconda

The following packages will be UN-linked:

package build
llvmmath-0.1.2 np17py27_0
llvmpy-0.12.1 py27_0
numba-0.11.1 np17py27_0

The following packages will be linked:

package build
llvmmath-0.1.1 np17py27_2 hard-link
llvmpy-0.12.0 py27_0 hard-link
numba-0.11.0 np17py27_0 hard-link

Proceed ([y]/n)? n

asmeurer commented 10 years ago

This is expected behavior. The anaconda package should be thought of as a stable set of packages. Each Anaconda release updates the versions in that set, but between releases, they are set as they were, whereas individual packages get updated much more frequently.

dan-blanchard commented 10 years ago

If this is intended behavior, then it would be useful to have a command that updates all installed packages (since that is what most of us use conda update anaconda as a shorthand for).

asmeurer commented 10 years ago

This comes up a lot, and I agree we should do it, but it's not so easy, because "updating everything" could create a dependency inconsistency among the packages (the most common case is Python 3 compatibility, but even if you special-case Python so that conda update --all wouldn't update Python to Python 3 it could still happen).

dan-blanchard commented 10 years ago

Maybe you could add some sort of "locked" packages concept, so that you could specify a set of packages for each environment that you do not want to upgrade, even when you do "update all".  If you approached it that way, it wouldn't be Python-specific, and I got the impression at PyData that conda is meant for more than just Python (even though that is it's primary purpose now). 

It'd be nice if you could still allow bug fix releases even with the locked packages though (e.g., a locked Python 2.7 would still update from 2.7.5 to 2.7.6). 

— Sent from Mailbox for iPhone

On Mon, Nov 25, 2013 at 8:50 PM, Aaron Meurer notifications@github.com wrote:

This comes up a lot, and I agree we should do it, but it's not so easy, because "updating everything" could create a dependency inconsistency among the packages (the most common case is Python 3 compatibility, but even if you special-case Python so that conda update --all wouldn't update Python to Python 3 it could still happen).

Reply to this email directly or view it on GitHub: https://github.com/ContinuumIO/anaconda-issues/issues/39#issuecomment-29261116

asmeurer commented 10 years ago

It's true that conda aims to be as Python agnostic as possible (at some levels it has to know about Python, because conda itself requires Python). However, Anaconda, the Python distribution, is very Python gnostic (which is what http://www.synonym-finder.com/antonym/agnostic claims is the antonym of agnostic, and I'm running with that).

The whole point of the anaconda package is that it is stable and tested. If we start messing with things, then we lose that (unless we test every combination, but at that point, it's easier to just release Anaconda more often, since that's more or less what a release entails anyway).

What we do need to do, however, is to improve the documentation of this somehow, because a ton of people have reported this issue. Thoughts?

FvD commented 9 years ago

Perhaps you could change the line that says

"The following packages will be DOWNGRADED:" 

to the following:

The following packages will be DOWNGRADED in anaconda's stable set of packages.
This will NOT affect packages in your conda environments (these will stay at their current version)

This will make it clear that whatever set of package-versions you might have worked hard on to assemble in my-env will stay just as it is.

drorata commented 8 years ago

Is it confirmed that the formulation suggested by @FvD is correct? This is super confusing.

goanpeca commented 7 years ago

@kalefranz please close if this no longer applies? or move to conda repo?