'conda refuses to install package while all dependencies seems to be already satisfied
I'm trying to install httpcore v0.14.7
inside miniconda 3.8
. httpcore v0.14.7
is only available on conda-forge
, rather than the anaconda main repo
. Unfortunately, conda again fell into the painful "flexible solve" tries. So I decide to inspect the dependency myself. I ran conda search --info httpcore=0.14.7
and got something like this:
...
dependencies:
- anyio 3.*
- certifi
- h11 >=0.11,<0.13
- h2 >=3,<5
- python >=3.6
- sniffio 1.*
I've checked every package in the depencency list, and have manually installed the corresponding version. However conda install
still refuse to install httpcore
. So I have no idea now where to go next.
I've attached the output of conda install
, conda list
and conda search
below, with a snippet to collapse long text.
Output of `conda install httpcore=0.14.7`
<pre>
........
Specifications:
- anaconda/pkgs/main/noarch::packaging==21.3=pyhd3eb1b0_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::argon2-cffi-bindings==21.2.0=py38h2bbff1b_0 -> python[version='2.7.*|3.5.*|3.6.*|3.6.12|3.6.12|3.7.10|3.7.10|3.7.12|3.8.12|3.9.10|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.7.9|3.6.9|3.6.9|3.6.9|3.6.9|3.4.*',build='2_73_pypy|3_73_pypy|4_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy|0_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy']
- anaconda/pkgs/main/win-64::bottleneck==1.3.4=py38h080aedc_0 -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0']
- anaconda/pkgs/main/win-64::brotlipy==0.7.0=py38h2bbff1b_1003 -> python[version='2.7.*|3.5.*|3.6.*|3.6.12|3.6.12|3.7.10|3.7.10|3.7.12|3.8.12|3.9.10|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.7.9|3.6.9|3.6.9|3.6.9|3.6.9|3.4.*',build='2_73_pypy|3_73_pypy|4_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy|0_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy']
- anaconda/pkgs/main/win-64::click==8.0.4=py38haa95532_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::cryptography==36.0.0=py38h21b164f_0 -> python[version='3.6.12|3.6.12|3.7.10|3.7.10|3.7.12|3.8.12|3.9.10|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|3.7.9|3.6.9|3.6.9|3.6.9|3.6.9',build='2_73_pypy|3_73_pypy|4_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy|0_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy']
- anaconda/pkgs/main/win-64::h5py==2.10.0=py38h5e291fa_0 -> python[version='2.7.*|3.4.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0']
- anaconda/pkgs/main/win-64::matplotlib==3.5.1=py38haa95532_1 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::menuinst==1.4.18=py38h59b6b97_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0']
- anaconda/pkgs/main/win-64::mkl-service==2.4.0=py38h2bbff1b_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::mkl_fft==1.3.1=py38h277e83a_0 -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.9,<3.10.0a0']
- anaconda/pkgs/main/win-64::numba==0.55.1=py38hf11a4ad_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::numpy-base==1.21.5=py38hca35cd5_2 -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.9,<3.10.0a0']
- anaconda/pkgs/main/win-64::numpy==1.21.5=py38h7a0a035_2 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.9,<3.10.0a0|>=3.5,<3.6.0a0']
- anaconda/pkgs/main/win-64::py-opencv==4.0.1=py38he44ac1e_0 -> python[version='3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0']
- anaconda/pkgs/main/win-64::pyqt==5.9.2=py38hd77b12b_6 -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0']
- anaconda/pkgs/main/win-64::pysocks==1.7.1=py38haa95532_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.5,<3.6.0a0']
- anaconda/pkgs/main/win-64::setuptools==61.2.0=py38haa95532_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::terminado==0.13.1=py38haa95532_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::tqdm==4.64.0=py38haa95532_0 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::websocket-client==0.58.0=py38haa95532_4 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.5,<3.6.0a0|3.4.*']
- anaconda/pkgs/main/win-64::zstandard==0.15.2=py38h2bbff1b_0 -> python[version='2.7.*|3.5.*|3.6.*|3.6.12|3.6.12|3.7.10|3.7.10|3.7.12|3.8.12|3.9.10|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.7.9|3.6.9|3.6.9|3.6.9|3.6.9',build='2_73_pypy|3_73_pypy|4_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy|0_73_pypy|5_73_pypy|1_73_pypy|0_73_pypy']
Your python: anaconda/pkgs/main/win-64::python==3.8.13=h6244533_0
If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.
The following specifications were found to be incompatible with a past
explicit spec that is not an explicit spec in this operation (certifi):
- httpcore=0.14.7 -> anyio=3 -> async_generator
- httpcore=0.14.7 -> anyio=3 -> idna[version='>=2.8']
- httpcore=0.14.7 -> anyio=3 -> python_abi[version='2.7.*|3.10.*|3.7.*|3.9.*|3.8.*|3.6.*|3.9|3.8|3.7',build='*_cp27m|*_pypy37_pp73|*_pypy39_pp73|*_cp36m|*_cp38|*_cp37m|*_cp310|*_cp39|*_pypy38_pp73']
- httpcore=0.14.7 -> anyio=3 -> sniffio[version='>=1.1']
- httpcore=0.14.7 -> anyio=3 -> typing_extensions
- httpcore=0.14.7 -> certifi
- httpcore=0.14.7 -> h11[version='>=0.11,<0.13']
- httpcore=0.14.7 -> h2[version='>=3,<5']
- httpcore=0.14.7 -> python[version='>=3.6'] -> openssl[version='>=1.1.1a,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1e,<1.1.2a|>=1.1.1f,<1.1.2a|>=1.1.1g,<1.1.2a|>=1.1.1h,<1.1.2a|>=1.1.1i,<1.1.2a|>=1.1.1j,<1.1.2a|>=1.1.1k,<1.1.2a|>=1.1.1l,<1.1.2a|>=1.1.1n,<1.1.2a|>=3.0.2,<4.0a0|>=3.0.0,<4.0a0']
- httpcore=0.14.7 -> python[version='>=3.6'] -> pip
- httpcore=0.14.7 -> python[version='>=3.6'] -> sqlite[version='>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.27.2,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.31.1,<4.0a0|>=3.32.3,<4.0a0|>=3.33.0,<4.0a0|>=3.35.4,<4.0a0|>=3.36.0,<4.0a0|>=3.38.0,<4.0a0|>=3.38.2,<4.0a0|>=3.35.1,<4.0a0|>=3.37.1,<4.0a0|>=3.37.0,<4.0a0|>=3.35.5,<4.0a0|>=3.34.0,<4.0a0']
- httpcore=0.14.7 -> python[version='>=3.6'] -> tk[version='>=8.6.11,<8.7.0a0|>=8.6.12,<8.7.0a0']
- httpcore=0.14.7 -> python[version='>=3.6'] -> vc[version='14.*|>=14.1,<15.0a0|>=14.1,<15|>=14,<15.0a0']
- httpcore=0.14.7 -> python[version='>=3.6'] -> vs2015_runtime[version='>=14.16.27012|>=14.16.27012,<15.0a0|>=14.16.27033']
- httpcore=0.14.7 -> python[version='>=3.6'] -> xz[version='>=5.2.5,<5.3.0a0|>=5.2.5,<6.0a0']
- httpcore=0.14.7 -> python[version='>=3.6'] -> zlib[version='>=1.2.11,<1.3.0a0']
- httpcore=0.14.7 -> sniffio=1
........
</pre>
Output of `conda list`, with non-relating packages removed.
<pre>
# Name Version Build Channel
anyio 3.5.0 py38haa95532_0 defaults
async_generator 1.10 pyhd3eb1b0_0 defaults
certifi 2021.10.8 py38haa95532_2 defaults
h11 0.12.0 pyhd3eb1b0_0 defaults
h2 4.0.0 py38haa95532_3 defaults
idna 3.3 pyhd3eb1b0_0 defaults
openssl 1.1.1n h2bbff1b_0 defaults
pip 21.2.2 py38haa95532_0 defaults
pip-tools 6.6.0 pyhd8ed1ab_0 conda-forge
python 3.8.13 h6244533_0 defaults
python_abi 3.8 2_cp38 conda-forge
sniffio 1.2.0 py38haa95532_1 defaults
sqlite 3.38.3 h2bbff1b_0 defaults
typing-extensions 4.1.1 hd3eb1b0_0 defaults
typing_extensions 4.1.1 pyh06a4308_0 defaults
tk 8.6.11 h2bbff1b_0 defaults
vc 14.2 h21ff451_1 defaults
vs2015_runtime 14.27.29016 h5e58377_2 defaults
xz 5.2.5 h8cc25b3_1 defaults
zlib 1.2.12 h8cc25b3_2 defaults
</pre>
Output of `conda search --info httpcore=0.14.7`
<pre>
httpcore 0.14.7 pyhd8ed1ab_1
----------------------------
file name : httpcore-0.14.7-pyhd8ed1ab_1.tar.bz2
name : httpcore
version : 0.14.7
build : pyhd8ed1ab_1
build number: 1
size : 38 KB
license : BSD-3-Clause
subdir : noarch
md5 : fef30712c30973b45de04f61ca1693b0
timestamp : 2022-05-09 23:11:34 UTC
dependencies:
- anyio 3.*
- certifi
- h11 >=0.11,<0.13
- h2 >=3,<5
- python >=3.6
- sniffio 1.*
</pre>
Solution 1:[1]
Thanks to @merv , after switching to mamba
it pointed out the reason of not finding a solution clearly (and much much faster). It's cause I've set channel_priority
to strict
. After setting it to flexible
(the default one) mamba
seems to work flawlessly. It does seem that conda
works now, and it should work. But I'm not very sure, for I didn't revert my whole env to the exact same one as before running mamba install httpcore=0.14.7
.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Lingo |