Open maximlt opened 8 months ago
Just to note I have reproduced this issue and here the solve error that I see:
(analytics) jstevens /tmp/test $ anaconda-project lock
Updating locked dependencies for env spec default...
Resolving conda packages for linux-64
Error resolving dependencies for default: Error resolving for linux-64: /Users/jstevens/minicondaM1/bin/conda create --override-channels --yes --quiet --json --dry-run --prefix /var/folders/xb/2kdrlzn177d4vjfwhm3hnlq80000gp/T/_anaconda_project_resolve_7_i3qbf7 --channel defaults python=3.10 datashader: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package python conflicts for:
datashader -> python[version='>=2.7,<2.8.0a0|>=2.7|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.11,<3.12.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0']
datashader -> dask-core -> python[version='2.7.*|3.5.*|3.6.*|>=3.5|>=3.6|>=3.7|>=3.8|>=3.7.1,<3.8.0a0|>=3.5.3']
python=3.10The following specifications were found to be incompatible with your system:
- python=3.10 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
Your installed version is: not available
I had a similar issue with another dependency (panel) and asked @jbednar to reproduce it.
name: buggy
packages:
- python=3.9
- panel >=1
platforms:
- linux-64
Traceback:
> anaconda-project lock
Updating locked dependencies for env spec default...
Resolving conda packages for linux-64
Error resolving dependencies for default: Error resolving for linux-64: conda create --yes --quiet --json --dry-run --prefix /var/folders/q0/p4dg3t913ln18l9_6yfj7gv00000gp/T/_anaconda_project_resolve_jf3lxopf python=3.9 panel >=1: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package python conflicts for:
panel[version='>=1'] -> bleach -> python[version='>=2.7|>=2.7,<2.8.0a0|>=3.6|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0|>=3.7.1,<3.8.0a0|>=3.5']
panel[version='>=1'] -> python[version='>=3.10,<3.11.0a0|>=3.9,<3.10.0a0|>=3.11,<3.12.0a0|>=3.8,<3.9.0a0']
python=3.9The following specifications were found to be incompatible with your system:
- python=3.9 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
Your installed version is: not available
.
26.336u 1.338s 0:29.91 92.4% 0+0k 0+0io 1097pf+0w
I can reproduce the issue with a pure conda command:
CONDA_SUBDIR=linux-64 conda create --override-channels --yes --dry-run --channel defaults -n testsubdir python=3.10 "scipy"
It works if I do one of the followings:
--channel defaults
with --channel conda-forge
python=3.10
with older versions (3.9, 3.8, etc)CONDA_OVERRIDE_GLIBC="2.22"
Using the last option, I can lock the project by running CONDA_OVERRIDE_GLIBC="2.22" anaconda-project lock
.
Separately I tried to lock the same set of dependencies on linux-64
with conda-lock
, and it worked fine without me having to do anything else.
Copied from someone who helped me looking at the issue internally:
conda-lock allows virtual packages to be specified in file using
--virtual-package-spec
. If this is not specified a default set is used.Fixing this is anaconda-project in a manner similar to how conda-lock address virtual packages seems like a logic path forward.
Running
anaconda-project lock
with the following project fails solving (using version 0.11.1). I am running anaconda-project from an environment created withconda create -n aproject python=3.10 anaconda-project
, I'm on a Mac M2.Note that if I change
python=3.10
forpython=3.9
in the file below, the solve succeeds.Output of the failing solve:
conda info
: