Closed lyonj closed 7 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.
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).
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).
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
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?
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.
Is it confirmed that the formulation suggested by @FvD is correct? This is super confusing.
@kalefranz please close if this no longer applies? or move to conda repo?
Updating conda environment at C:\Anaconda
The following packages will be downloaded:
The following packages will be UN-linked:
The following packages will be linked:
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%
Updating conda environment at C:\Anaconda
The following packages will be UN-linked:
The following packages will be linked:
Proceed ([y]/n)? n