Closed notestaff closed 11 months ago
Related issues: #7771 #9136
I was just on my way here to file a similar issue, but found this one first. I too have been fighting with solver issues, and the messages leave me unable to tell if the solver is misbehaving or if I'm making an error somewhere.
Here are a couple of very typical examples:
Package wheel conflicts for:
python=3.6 -> pip -> wheel
pip=19.3.1 -> wheel
Package boto3 conflicts for:
moto==1.3.14 -> boto3[version='>=1.9.201']
boto3=1.11.6
What is that trying to tell me? Is there a reference somewhere that could help in interpreting these messages?
same here on Ubuntu 18.04, conda 4.8.4:
$ conda create -n geocube -v -c conda-forge python=3.7 geocube
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
Traceback (most recent call last):
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/exceptions.py", line 1079, in __call__
return func(*args, **kwargs)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/cli/main.py", line 84, in _main
exit_code = do_call(args, p)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/cli/conda_argparse.py", line 83, in do_call
return getattr(module, func_name)(args, parser)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/cli/main_create.py", line 41, in execute
install(args, parser, 'create')
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 292, in install
raise e
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 265, in install
should_retry_solve=(_should_retry_unfrozen or repodata_fn != repodata_fns[-1]),
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 117, in solve_for_transaction
should_retry_solve)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 158, in solve_for_diff
force_remove, should_retry_solve)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 281, in solve_final_state
ssc = self._run_sat(ssc)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 818, in _run_sat
should_retry_solve=ssc.should_retry_solve
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 1321, in solve
self.find_conflicts(specs, specs_to_add, history_specs)
File "/home/test/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 352, in find_conflicts
raise UnsatisfiableError(bad_deps, strict=strict_channel_priority)
conda.exceptions.UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package python conflicts for:
geocube -> python=3
python=3.7
geocube -> appdirs -> python[version='2.7.*|3.5.*|3.6.*|3.4.*|>=3.6|>=3.5|>=3.6,<3.7.0a0|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.5.3']
Nothing seems incompatible though...
Has there been any progress on this? I run into this issue often and it's cost me lots of time recently. Today I ran into this beauty:
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: /
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Ah, so it found conflicts but no specifications were found to be incompatible with each other? Not even any false positives like usual. Fantastic.
+1 on this, because it's terribly frustrating when all listed conflicts don't look like conflicts at all:
Package scipy conflicts for:
scikit-image -> scipy[version='>=0.17|>=0.19|>=0.9']
scikit-learn -> scipy
or
Package dataclasses conflicts for:
pytorch -> dataclasses
pytorch-lightning -> pytorch[version='>=1.3'] -> dataclasses
How can there be no dev available to explain this confusing behaviour? Is there no documentation on this?
Package unittest2 conflicts for:
h5py=2.10.0 -> unittest2
keras-applications -> h5py -> unittest2
keras -> h5py -> unittest2
How can this throw a conflict?
I just spent all day on this kind of rubbish, and have got absolutely no-where.
Clearly a lot of effort has gone into conda, but unfortunately it seems kind of useless for anything non-trivial.....
Yes. So redundant given all the other comments. Why has nothing been done?
Same issue. $ condo update --all #runs with no errors. $ conda install jupyterlab # has thousands of conflicts
Update: for anyone who is looking for a conda alternative, mamba works flawlessly.
Hey all, just to give some context why this hasn't been obvious, the previous conda maintainers left Anaconda in 2020 and a new group of people have started earlier this year (including me). We're currently in the process to port the mamba/libsolv solver to conda which should improve the user experience drastically in many areas, just like reporting of conflicts. More on that soon!
Just my luck. I'm trying to find an issue where a new package is causing thousands of lines of conflicts and man, I don't know where to start. I hope 5.0.0 comes out soon to resolve this.
@EricAtORS have you tried mamba?
@EricAtORS have you tried mamba?
Very interesting project. I did not. I'll look in to it. Right now, I'm using conda-devenv and I'd be curious to see how we could migrate to mamba if it works better.
I cant even install mamba due to frustrating conflicts. Why don't they finally add an "override" function for such errors and save so many users from such a waste of time.
I created a fresh environment with conda create --name plots -c conda-forge python=3.9
, then tried to run conda install -c conda-forge mayavi
.
It tried to resolve conflicts for well over an hour, then eventually printed a list of conflicts so long I couldn't even scroll to the top of it in my terminal.
Problem is most of the conflicts don't even make sense. I've got hundreds of examples of this issue now. Based on #9136 it seems these are probably just missing the requirement actually causing the conflict.
Here is the output (as I explained the top is cut off): https://gist.github.com/nog642/e8257da3ce142b7e77df968d042d1b7c
Edit: Seems my specific issue was probably that the second command was run in the base envrionment, not the new one. The point about the confusing conflict messages remains though.
For me the solution was to use conda create
and conda install
wtih --override-channels -c defaults
, as per suggestion in https://github.com/conda/conda/issues/10123
Hi there, thank you for your contribution!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.
If you would like this issue to remain open please:
NOTE: If this issue was closed prematurely, please leave a comment.
Thanks!
Current Behavior
Messages printed when conflicts prevent creating an environment show what does not seem like a conflict:
Why wouldn't e.g. xz=5.2.4 satisfy these constraints? Also, the conflict messages printed are non-deterministic, showing different conflicts every time the command to create the environment is re-run.
Steps to Reproduce
Expected Behavior
Print a message that will enable me to fix the conflict.
Environment Information
`conda info`
``` active environment : conda-smithy-200224-env active env location : /ilya/miniconda3/envs/conda-smithy-200224-env shell level : 11 user config file : /home/ilya/.condarc populated config files : /home/ilya/.condarc conda version : 4.8.2 conda-build version : 3.18.9 python version : 3.7.3.final.0 virtual packages : __glibc=2.26 base environment : /ilya/miniconda3 (writable) channel URLs : https://conda.anaconda.org/broad-viral/linux-64 https://conda.anaconda.org/broad-viral/noarch https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://conda.anaconda.org/bioconda/linux-64 https://conda.anaconda.org/bioconda/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch https://conda.anaconda.org/notestaff/linux-64 https://conda.anaconda.org/notestaff/noarch https://conda.anaconda.org/r/linux-64 https://conda.anaconda.org/r/noarch package cache : /ilya/miniconda3/pkgs /home/ilya/.conda/pkgs envs directories : /ilya/miniconda3/envs /home/ilya/.conda/envs platform : linux-64 user-agent : conda/4.8.2 requests/2.23.0 CPython/3.7.3 Linux/4.14.165-133.209.amzn2.x86_64 amzn/2 glibc/2.26 UID:GID : 1002:1002 netrc file : None offline mode : False ```
`conda config --show-sources`
``` (conda-smithy-200224-env) 11:00 [git-annex-feedstock] $ conda config --show-sources ==> /home/ilya/.condarc <== channels: - broad-viral - conda-forge - bioconda - defaults - notestaff - r report_errors: False ```
`conda list --show-channel-urls`
``` (conda-smithy-200224-env) 11:00 [git-annex-feedstock] $ conda list --show-channel-urls # packages in environment at /ilya/miniconda3/envs/conda-smithy-200224-env: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 0_gnu conda-forge beautifulsoup4 4.8.2 py38_0 conda-forge blinker 1.4 py_1 conda-forge bzip2 1.0.8 h516909a_2 conda-forge ca-certificates 2019.11.28 hecc5488_0 conda-forge certifi 2019.11.28 py38_0 conda-forge cffi 1.13.2 py38h8022711_0 conda-forge chardet 3.0.4 py38_1003 conda-forge conda 4.8.2 py38_0 conda-forge conda-build 3.18.11 py38_0 conda-forge conda-forge-pinning 2020.02.20 0 conda-forge conda-package-handling 1.6.0 py38h516909a_1 conda-forge conda-smithy 3.6.8 py_0 conda-forge cryptography 2.8 py38h72c5cf5_1 conda-forge curl 7.68.0 hf8cf82a_0 conda-forge deprecated 1.2.7 py_0 conda-forge expat 2.2.9 he1b5a44_2 conda-forge filelock 3.0.10 py_0 conda-forge gettext 0.19.8.1 hc5be6a0_1002 conda-forge git 2.25.0 pl526hce37bd2_0 conda-forge gitdb 4.0.2 py_0 conda-forge gitpython 3.1.0 py_0 conda-forge glob2 0.7 py_0 conda-forge icu 64.2 he1b5a44_1 conda-forge idna 2.9 py_1 conda-forge isodate 0.6.0 py_1 conda-forge jinja2 2.11.1 py_0 conda-forge krb5 1.16.4 h2fd8d38_0 conda-forge ld_impl_linux-64 2.33.1 h53a641e_8 conda-forge libarchive 3.3.3 hc47fbbf_1007 conda-forge libcurl 7.68.0 hda55be3_0 conda-forge libedit 3.1.20170329 hf8c457e_1001 conda-forge libffi 3.2.1 he1b5a44_1006 conda-forge libgcc-ng 9.2.0 h24d8f2e_2 conda-forge libgomp 9.2.0 h24d8f2e_2 conda-forge libiconv 1.15 h516909a_1005 conda-forge liblief 0.9.0 hf8a498c_1 conda-forge libssh2 1.8.2 h22169c7_2 conda-forge libstdcxx-ng 9.2.0 hdf63c60_2 conda-forge libxml2 2.9.10 hee79883_0 conda-forge lz4-c 1.8.3 he1b5a44_1001 conda-forge lzo 2.10 h14c3975_1000 conda-forge markupsafe 1.1.1 py38h516909a_0 conda-forge msrest 0.6.10 py_0 conda-forge ncurses 6.1 hf484d3e_1002 conda-forge oauthlib 3.0.1 py_0 conda-forge openssl 1.1.1d h516909a_0 conda-forge patchelf 0.10 he1b5a44_0 conda-forge pcre 8.44 he1b5a44_0 conda-forge perl 5.26.2 h516909a_1006 conda-forge pip 20.0.2 py_2 conda-forge pkginfo 1.5.0.1 py_0 conda-forge psutil 5.7.0 py38h516909a_0 conda-forge py-lief 0.9.0 py38he1b5a44_1 conda-forge pycosat 0.6.3 py38h516909a_1002 conda-forge pycparser 2.19 py_2 conda-forge pycrypto 2.6.1 py38h516909a_1003 conda-forge pygithub 1.43.6 py38_0 conda-forge pyjwt 1.7.1 py_0 conda-forge pyopenssl 19.1.0 py_1 conda-forge pysocks 1.7.1 py38_0 conda-forge python 3.8.1 h357f687_2 conda-forge python-libarchive-c 2.9 py38_0 conda-forge pytz 2019.3 py_0 conda-forge pyyaml 5.3 py38h516909a_0 conda-forge readline 8.0 hf8c457e_0 conda-forge requests 2.23.0 py38_0 conda-forge requests-oauthlib 1.2.0 py_0 conda-forge ripgrep 11.0.2 h516909a_3 conda-forge ruamel.yaml 0.16.6 py38h516909a_0 conda-forge ruamel.yaml.clib 0.2.0 py38h516909a_0 conda-forge ruamel_yaml 0.15.80 py38h516909a_1000 conda-forge setuptools 45.2.0 py38_0 conda-forge six 1.14.0 py38_0 conda-forge smmap 3.0.1 py_0 conda-forge soupsieve 1.9.4 py38_0 conda-forge sqlite 3.30.1 hcee41ef_0 conda-forge tk 8.6.10 hed695b0_0 conda-forge toolz 0.10.0 py_0 conda-forge tqdm 4.43.0 py_0 conda-forge urllib3 1.25.7 py38_0 conda-forge vsts-python-api 0.1.22 py_0 conda-forge wheel 0.34.2 py_1 conda-forge wrapt 1.12.0 py38h516909a_0 conda-forge xz 5.2.4 h14c3975_1001 conda-forge yaml 0.2.2 h516909a_1 conda-forge zlib 1.2.11 h516909a_1006 conda-forge zstd 1.4.4 h3b9ef0a_1 conda-forge ```