python – Setting up local conda repository, and I’m getting UnsatisfiableError even though I’m using the versions recommended from the default channels

Thanks in advance for reading my post!

I am setting up a local conda repository. I’m doing a trial run with it to see that I set it up properly. I have the correct folder structure (repo-name/win-64 and repo-name/noarch) and I’m using conda-index to generate the repodata.json.

In a fresh conda environment, I used conda install python=3.11 (and cancelled with “n”) to see the list of packages it would install. Then, I downloaded the .conda files matching the exact build numbers from repo.anaconda.com/pkgs/main/win-64/ and put them into their respective folders in the local repo, and ran conda-index.

Now, when I try conda install python=3.11 -c file:///my/path/to/repo --override-channels, it is giving me

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package vc conflicts for:
zlib[version='>=1.2.13,<1.3.0a0'] -> vc[version='>=14.1,<15.0a0']
sqlite[version='>=3.41.2,<4.0a0'] -> vc[version='>=14.1,<15.0a0']
vc[version='>=14.1,<15.0a0']
openssl[version='>=3.0.10,<4.0a0'] -> vc[version='>=14.1,<15.0a0']
bzip2[version='>=1.0.8,<2.0a0'] -> vc=9
libffi[version='>=3.4,<3.5,>=3.4,<4.0a0'] -> vc[version='>=14.1,<15.0a0']
xz[version='>=5.4.2,<6.0a0'] -> vc[version='>=14.1,<15.0a0']
tk[version='>=8.6.12,<8.7.0a0'] -> vc[version='>=14.1,<15.0a0']
pip -> python[version='>=3.11,<3.12.0a0'] -> vc[version='>=14.1,<15.0a0']

Package tzdata conflicts for:
tzdata
pip -> python[version='>=3.11,<3.12.0a0'] -> tzdata

Package vs2015_runtime conflicts for:
vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']
zlib[version='>=1.2.13,<1.3.0a0'] -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']
openssl[version='>=3.0.10,<4.0a0'] -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']
zlib[version='>=1.2.13,<1.3.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
vs2015_runtime[version='>=14.16.27012,<15.0a0']
tk[version='>=8.6.12,<8.7.0a0'] -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']
xz[version='>=5.4.2,<6.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
pip -> python[version='>=3.11,<3.12.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
libffi[version='>=3.4,<3.5,>=3.4,<4.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
xz[version='>=5.4.2,<6.0a0'] -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']
tk[version='>=8.6.12,<8.7.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
sqlite[version='>=3.41.2,<4.0a0'] -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']
sqlite[version='>=3.41.2,<4.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
openssl[version='>=3.0.10,<4.0a0'] -> vs2015_runtime[version='>=14.16.27012,<15.0a0']
libffi[version='>=3.4,<3.5,>=3.4,<4.0a0'] -> vc[version='>=14.1,<15.0a0'] -> vs2015_runtime[version='>=14.27.29016']

Package tk conflicts for:
pip -> python[version='>=3.11,<3.12.0a0'] -> tk[version='>=8.6.12,<8.7.0a0']
tk[version='>=8.6.12,<8.7.0a0']

Package zlib conflicts for:
zlib[version='>=1.2.13,<1.3.0a0']
pip -> python[version='>=3.11,<3.12.0a0'] -> zlib[version='>=1.2.13,<1.3.0a0']

Package sqlite conflicts for:
pip -> python[version='>=3.11,<3.12.0a0'] -> sqlite[version='>=3.41.2,<4.0a0']
sqlite[version='>=3.41.2,<4.0a0']

Package libffi conflicts for:
libffi[version='>=3.4,<3.5,>=3.4,<4.0a0']
pip -> python[version='>=3.11,<3.12.0a0'] -> libffi[version='>=3.4,<3.5|>=3.4,<4.0a0']

Package xz conflicts for:
pip -> python[version='>=3.11,<3.12.0a0'] -> xz[version='>=5.4.2,<6.0a0']
xz[version='>=5.4.2,<6.0a0']

Package openssl conflicts for:
pip -> python[version='>=3.11,<3.12.0a0'] -> openssl[version='>=3.0.10,<4.0a0']
openssl[version='>=3.0.10,<4.0a0']

Package bzip2 conflicts for:
bzip2[version='>=1.0.8,<2.0a0']
pip -> python[version='>=3.11,<3.12.0a0'] -> bzip2[version='>=1.0.8,<2.0a0']

First of all, this is unexpected. Second of all, I’m struggling to make sense of the conflict messages. I must not be reading them properly because I don’t see any two version specifications that are actually at odds with each other. What is the cause of the problem? Here are the packages I downloaded to the repo (the text is directly copied and pasted from the aborted conda install python=3.11 process):

The following NEW packages will be INSTALLED:

  bzip2              pkgs/main/win-64::bzip2-1.0.8-he774522_0
  ca-certificates    pkgs/main/win-64::ca-certificates-2023.08.22-haa95532_0
  libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_0
  openssl            pkgs/main/win-64::openssl-3.0.10-h2bbff1b_2
  pip                pkgs/main/win-64::pip-23.2.1-py311haa95532_0
  python             pkgs/main/win-64::python-3.11.5-he1021f5_0
  setuptools         pkgs/main/win-64::setuptools-68.0.0-py311haa95532_0
  sqlite             pkgs/main/win-64::sqlite-3.41.2-h2bbff1b_0
  tk                 pkgs/main/win-64::tk-8.6.12-h2bbff1b_0
  tzdata             pkgs/main/noarch::tzdata-2023c-h04d1e81_0
  vc                 pkgs/main/win-64::vc-14.2-h21ff451_1
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2
  wheel              pkgs/main/win-64::wheel-0.38.4-py311haa95532_0
  xz                 pkgs/main/win-64::xz-5.4.2-h8cc25b3_0
  zlib               pkgs/main/win-64::zlib-1.2.13-h8cc25b3_0

Read more here: Source link