问题
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?
回答1:
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.
回答2:
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.
回答3:
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.
来源:https://stackoverflow.com/questions/51753988/what-does-conda-do-when-solving-environment