简体   繁体   中英

What does conda do when "solving environment"

Whenever I run conda install/remove/update <package> , it tells me it's "Solving environment" for some time before telling me the list of things it's going to download/install/update. Presumably it's looking for dependencies for <package> , but why does it sometimes remove packages after doing this operation? For example, as I was trying to install Mayavi, it decided it needed to remove Anaconda Navigator.

Furthermore it does not provide an option to perform only a subset of the suggested operations. Is there a way to specify that I don't want a package removed?

You can add --debug option to the conda command and see the output from console(or terminal). For example, type conda update --debug numpy . From the output, we can see that the client requests repodata.json from channel list and do some computation locally in the Solving Environment Step.

As a side note on the "Solving Environment" step...
Lack of administrator privileges may affect whether or where you can install python packages.

I observed that my installs would hang on the "Solving Environment" step and never get through when attempting to install packages while logged in as a non-administrator.

Getting switched to admin was possible for me on the machine I was stuck on, so I just did that and it solved the problem.

Commenter explains workaround when this is not possible.

conda install --prune <<package>> helped me to install the right channel.

Suspecting environment used are for zipline and channel used not compatible with existing one. prune takes a lot of time but helped me in solving the environment issues.

JUST WAIT! I wasted hours trying to fix this. It turns out, it just took around 45 minutes :/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM