Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conda and Mamba is grabbing wrong versions of package when install with version constraint #115

Closed
2 tasks done
daico007 opened this issue Aug 10, 2022 · 11 comments · Fixed by #197
Closed
2 tasks done
Assignees
Labels
locked [bot] locked due to inactivity pending::discussion contains some ongoing discussion that needs to be resolved prior to proceeding severity::1 blocker; broken functionality with no workaround source::community catch-all for issues filed by community members type::bug describes erroneous operation, use severity::* to classify the type

Comments

@daico007
Copy link

daico007 commented Aug 10, 2022

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

What happened?

One of our users bump into an issue when trying to install a package using conda, specifically conda is grabbing an incorrect version of a dependent package. He tried again with mamba and everything works fine.
I was able to narrow down the issue to be with the version constraint in our environment.yml, specifically, conda was trying to grab a very old version, while mamba the most recent one less the constraint.
To reproduce the issue:

Conda

conda install -c conda-forge "pydantic<1.9.0" 

Result

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pydantic-0.18.2            |             py_0          35 KB  conda-forge
    ------------------------------------------------------------
                                           Total:          35 KB

The following NEW packages will be INSTALLED:

  dataclasses        conda-forge/noarch::dataclasses-0.8-pyhc8e2a94_3
  pydantic           conda-forge/noarch::pydantic-0.18.2-py_0

The following packages will be UPDATED:

  ca-certificates                    2022.5.18.1-h033912b_0 --> 2022.6.15-h033912b_0
  certifi                        2022.5.18.1-py39h6e9494a_0 --> 2022.6.15-py39h6e9494a_0
  openssl                                 1.1.1o-hfe4f2af_0 --> 1.1.1q-hfe4f2af_0

Mamba

mamba install -c conda-forge "pydantic<1.9.0"

Result

  Package                  Version  Build           Channel                  Size
───────────────────────────────────────────────────────────────────────────────────
  Install:
───────────────────────────────────────────────────────────────────────────────────

  + pydantic                 1.8.2  py39h89e85a6_2  conda-forge/osx-64     Cached
  + typing-extensions        4.3.0  hd8ed1ab_0      conda-forge/noarch     Cached
  + typing_extensions        4.3.0  pyha770c72_0    conda-forge/noarch     Cached

  Upgrade:
───────────────────────────────────────────────────────────────────────────────────

  - ca-certificates    2022.5.18.1  h033912b_0      installed                    
  + ca-certificates      2022.6.15  h033912b_0      conda-forge/osx-64     Cached
  - certifi            2022.5.18.1  py39h6e9494a_0  installed                    
  + certifi              2022.6.15  py39h6e9494a_0  conda-forge/osx-64     Cached
  - openssl                 1.1.1o  hfe4f2af_0      installed                    
  + openssl                 1.1.1q  hfe4f2af_0      conda-forge/osx-64     Cached

This might be relate to this #64, but since both are grabbing the same openssl make me unsure. Also, the way the two version differentiate (1.8.2 vs 0.18.2) make we think it may be a parsing issue?

Conda Details

conda info
active environment : general
    active env location : /Users/quachcd/mambaforge/envs/general
            shell level : 2
       user config file : /Users/quachcd/.condarc
 populated config files : /Users/quachcd/mambaforge/.condarc
                          /Users/quachcd/.condarc
          conda version : 4.12.0
    conda-build version : not installed
         python version : 3.9.6.final.0
       virtual packages : __osx=12.1=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /Users/quachcd/mambaforge  (writable)
      conda av data dir : /Users/quachcd/mambaforge/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://conda.anaconda.org/mosdef/osx-64
                          https://conda.anaconda.org/mosdef/noarch
                          https://conda.anaconda.org/omnia/osx-64
                          https://conda.anaconda.org/omnia/noarch
                          https://conda.anaconda.org/bioconda/osx-64
                          https://conda.anaconda.org/bioconda/noarch
                          https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/quachcd/mambaforge/pkgs
                          /Users/quachcd/.conda/pkgs
       envs directories : /Users/quachcd/mambaforge/envs
                          /Users/quachcd/.conda/envs
               platform : osx-64
             user-agent : conda/4.12.0 requests/2.26.0 CPython/3.9.6 Darwin/21.2.0 OSX/12.1
                UID:GID : 501:20
             netrc file : None
           offline mode : False
conda config
==> /Users/quachcd/mambaforge/.condarc <==
channels:
  - conda-forge

==> /Users/quachcd/.condarc <==
ssl_verify: True
channels:
  - conda-forge
  - mosdef
  - omnia
  - bioconda
  - defaults
conda list
# packages in environment at /Users/quachcd/mambaforge:
#
# Name                    Version                   Build  Channel
ansi2html                 1.7.0            py39h6e9494a_1    conda-forge
appnope                   0.1.3              pyhd8ed1ab_0    conda-forge
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
brotli-python             1.0.9            py39hfd1d529_7    conda-forge
brotlipy                  0.7.0           py39h89e85a6_1001    conda-forge
bzip2                     1.0.8                h0d85af4_4    conda-forge
c-ares                    1.17.2               h0d85af4_0    conda-forge
ca-certificates           2022.5.18.1          h033912b_0    conda-forge
certifi                   2022.5.18.1      py39h6e9494a_0    conda-forge
cffi                      1.14.6           py39hb71fe58_0    conda-forge
chardet                   4.0.0            py39h6e9494a_1    conda-forge
charset-normalizer        2.0.0              pyhd8ed1ab_0    conda-forge
click                     8.1.3            py39h6e9494a_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
conda                     4.12.0           py39h6e9494a_0    conda-forge
conda-package-handling    1.7.3            py39h89e85a6_0    conda-forge
cryptography              3.4.7            py39ha2c9959_0    conda-forge
dash                      2.4.1              pyhd8ed1ab_0    conda-forge
debugpy                   1.6.0            py39hfd1d529_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
flask                     2.1.2              pyhd8ed1ab_1    conda-forge
flask-compress            1.12               pyhd8ed1ab_0    conda-forge
icu                       68.1                 h74dc148_0    conda-forge
idna                      3.1                pyhd3deb0d_0    conda-forge
importlib-metadata        4.11.4           py39h6e9494a_0    conda-forge
ipykernel                 6.13.0           py39h71a6800_0    conda-forge
ipython                   8.3.0            py39h6e9494a_0    conda-forge
itsdangerous              2.1.2              pyhd8ed1ab_0    conda-forge
jedi                      0.18.1           py39h6e9494a_1    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_0    conda-forge
jupyter-dash              0.4.2              pyhd8ed1ab_1    conda-forge
jupyter_client            7.0.6              pyhd8ed1ab_0    conda-forge
jupyter_core              4.10.0           py39h6e9494a_0    conda-forge
krb5                      1.19.2               hcfbf3a7_0    conda-forge
libarchive                3.5.1                h2b60450_2    conda-forge
libcurl                   7.78.0               hf45b732_0    conda-forge
libcxx                    12.0.1               habf9029_0    conda-forge
libedit                   3.1.20191231         h0678c8f_2    conda-forge
libev                     4.33                 haf1e3a3_1    conda-forge
libffi                    3.3                  h046ec9c_2    conda-forge
libiconv                  1.16                 haf1e3a3_0    conda-forge
libnghttp2                1.43.0               h07e645a_0    conda-forge
libsodium                 1.0.18               hbcb3906_1    conda-forge
libsolv                   0.7.19               hcf210ce_5    conda-forge
libssh2                   1.9.0                h52ee1ee_6    conda-forge
libxml2                   2.9.12               h93ec3fd_0    conda-forge
lz4-c                     1.9.3                he49afe7_1    conda-forge
lzo                       2.10              haf1e3a3_1000    conda-forge
mamba                     0.15.3           py39hb671511_0    conda-forge
markupsafe                2.1.1            py39h63b48b0_1    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
ncurses                   6.2                  h2e338ed_4    conda-forge
nest-asyncio              1.5.5              pyhd8ed1ab_0    conda-forge
openssl                   1.1.1o               hfe4f2af_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       21.2.4             pyhd8ed1ab_0    conda-forge
plotly                    5.8.0              pyhd8ed1ab_1    conda-forge
prompt-toolkit            3.0.29             pyha770c72_0    conda-forge
psutil                    5.9.1            py39h701faf5_0    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pycosat                   0.6.3           py39h89e85a6_1006    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pyopenssl                 20.0.1             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1            py39h6e9494a_3    conda-forge
python                    3.9.6           hd187cdc_1_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.9                      2_cp39    conda-forge
pyzmq                     19.0.2           py39he75b00d_2    conda-forge
readline                  8.1                  h05e3726_0    conda-forge
reproc                    14.2.1               hbcb3906_0    conda-forge
reproc-cpp                14.2.1               h2e338ed_0    conda-forge
requests                  2.26.0             pyhd8ed1ab_0    conda-forge
retrying                  1.3.3                      py_2    conda-forge
ruamel_yaml               0.15.80         py39h89e85a6_1004    conda-forge
setuptools                57.4.0           py39h6e9494a_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.36.0               h23a322b_0    conda-forge
stack_data                0.2.0              pyhd8ed1ab_0    conda-forge
tenacity                  8.0.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.11               hd798d34_0    conda-forge
tornado                   6.1              py39h63b48b0_3    conda-forge
tqdm                      4.62.1             pyhd8ed1ab_0    conda-forge
traitlets                 5.2.1.post0        pyhd8ed1ab_0    conda-forge
tzdata                    2021a                he74cb21_1    conda-forge
urllib3                   1.26.6             pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
werkzeug                  2.1.2              pyhd8ed1ab_1    conda-forge
wheel                     0.37.0             pyhd8ed1ab_1    conda-forge
xz                        5.2.5                haf1e3a3_1    conda-forge
yaml                      0.2.5                haf1e3a3_0    conda-forge
zeromq                    4.3.4                he49afe7_1    conda-forge
zipp                      3.8.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h7795811_1010    conda-forge
zstd                      1.5.0                h582d3a0_0    conda-forge
@kenodegard
Copy link
Contributor

@daico007 I can replicate this, very weird, thanks for reporting, will investigate further

@jaimergp
Copy link
Contributor

Might have to do with the stuck openssl=3 migration.

@ipcoder
Copy link

ipcoder commented Sep 13, 2022

Here is another example, in this case mamba solves differently than conda with libmamba:
(especially notice wrong cpu instead of cuda version is selected for pytorch and torchvision)

mamba

❯ mamba install pytorch==1.10.2 torchvision==0.11.3  cudatoolkit=11.3
  Package             Version  Build                Channel                    Size
─────────────────────────────────────────────────────────────────────────────────────
  Install:
─────────────────────────────────────────────────────────────────────────────────────

  + cudatoolkit        11.3.1  h9edb442_10          conda-forge/linux-64      856MB
  + ffmpeg              4.3.2  h37c90e5_3           conda-forge/linux-64       10MB
  + future             0.18.2  py39hf3d152e_5       conda-forge/linux-64     Cached
  + gmp                 6.2.1  h58526e2_0           conda-forge/linux-64      826kB
  + gnutls             3.6.13  h85f3911_1           conda-forge/linux-64        2MB
  + lame                3.100  h7f98852_1001        conda-forge/linux-64      508kB
  + libprotobuf        3.19.4  h780b84a_0           conda-forge/linux-64        3MB
  + llvm-openmp        14.0.4  he0ac6c6_0           conda-forge/linux-64        6MB
  + mkl              2022.1.0  h84fe81f_915         conda-forge/linux-64      209MB
  + nettle                3.6  he412f7d_0           conda-forge/linux-64        7MB
  + ninja              1.11.0  h924138e_0           conda-forge/linux-64        3MB
  + openh264            2.1.1  h780b84a_0           conda-forge/linux-64        2MB
  + pytorch            1.10.2  cpu_py39h5e9ed0b_1   conda-forge/linux-64       57MB
  + sleef               3.5.1  h9b69904_2           conda-forge/linux-64        2MB
  + tbb              2021.5.0  h924138e_2           conda-forge/linux-64        2MB
  + torchvision        0.11.3  cpu_py39hfc47f1b_2   conda-forge/linux-64        7MB
  + x264           1!161.3030  h7f98852_1           conda-forge/linux-64        3MB
  + zlib               1.2.12  h166bdaf_3           conda-forge/linux-64       94kB

  Change:
─────────────────────────────────────────────────────────────────────────────────────

  - _openmp_mutex         4.5  2_gnu                conda-forge                    
  + _openmp_mutex         4.5  2_kmp_llvm           conda-forge/linux-64        6kB
  - libblas             3.9.0  16_linux64_openblas  conda-forge                    
  + libblas             3.9.0  16_linux64_mkl       conda-forge/linux-64       13kB
  - libcblas            3.9.0  16_linux64_openblas  conda-forge                    
  + libcblas            3.9.0  16_linux64_mkl       conda-forge/linux-64       13kB
  - liblapack           3.9.0  16_linux64_openblas  conda-forge                    
  + liblapack           3.9.0  16_linux64_mkl       conda-forge/linux-64       13kB

  Downgrade:
─────────────────────────────────────────────────────────────────────────────────────

  - setuptools         65.3.0  pyhd8ed1ab_1         conda-forge                    
  + setuptools         59.5.0  py39hf3d152e_0       conda-forge/linux-64        1MB

conda

❯ conda install pytorch==1.10.2 torchvision==0.11.3  cudatoolkit=11.3 --experimental-solver=libmamba
The following NEW packages will be INSTALLED:

  cudatoolkit        conda-forge/linux-64::cudatoolkit-11.3.1-h9edb442_10
  cudnn              conda-forge/linux-64::cudnn-8.4.1.50-hed8a83a_0
  ffmpeg             conda-forge/linux-64::ffmpeg-4.3.2-h37c90e5_3
  future             conda-forge/linux-64::future-0.18.2-py39hf3d152e_5
  gmp                conda-forge/linux-64::gmp-6.2.1-h58526e2_0
  gnutls             conda-forge/linux-64::gnutls-3.6.13-h85f3911_1
  lame               conda-forge/linux-64::lame-3.100-h7f98852_1001
  libprotobuf        conda-forge/linux-64::libprotobuf-3.19.4-h780b84a_0
  llvm-openmp        conda-forge/linux-64::llvm-openmp-14.0.4-he0ac6c6_0
  magma              conda-forge/linux-64::magma-2.5.4-h6103c52_2
  mkl                conda-forge/linux-64::mkl-2022.1.0-h84fe81f_915
  nccl               conda-forge/linux-64::nccl-2.14.3.1-h0800d71_0
  nettle             conda-forge/linux-64::nettle-3.6-he412f7d_0
  ninja              conda-forge/linux-64::ninja-1.11.0-h924138e_0
  openh264           conda-forge/linux-64::openh264-2.1.1-h780b84a_0
  pytorch            conda-forge/linux-64::pytorch-1.10.2-cuda112py39h4de5995_1
  sleef              conda-forge/linux-64::sleef-3.5.1-h9b69904_2
  tbb                conda-forge/linux-64::tbb-2021.5.0-h924138e_2
  torchvision        conda-forge/linux-64::torchvision-0.11.3-cuda112py39ha475c55_2
  x264               conda-forge/linux-64::x264-1!161.3030-h7f98852_1
  zlib               conda-forge/linux-64::zlib-1.2.12-h166bdaf_3

The following packages will be SUPERSEDED by a higher-priority channel:

  setuptools         conda-forge/noarch::setuptools-65.3.0~ --> conda-forge/linux-64::setuptools-59.5.0-py39hf3d152e_0

The following packages will be DOWNGRADED:

  _openmp_mutex                                   4.5-2_gnu --> 4.5-2_kmp_llvm
  libblas                         3.9.0-16_linux64_openblas --> 3.9.0-16_linux64_mkl
  libcblas                        3.9.0-16_linux64_openblas --> 3.9.0-16_linux64_mkl
  liblapack                       3.9.0-16_linux64_openblas --> 3.9.0-16_linux64_mkl

Details

conda info

❯ conda info

     active environment : base
    active env location : /home/ilyap/miniconda3
            shell level : 1
       user config file : /home/ilyap/.condarc
 populated config files : /home/ilyap/.condarc
          conda version : 4.14.0
    conda-build version : not installed
         python version : 3.9.13.final.0
       virtual packages : __cuda=11.4=0
                          __linux=5.15.0=0
                          __glibc=2.35=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/ilyap/miniconda3  (writable)
      conda av data dir : /home/ilyap/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/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
          package cache : /home/ilyap/miniconda3/pkgs
                          /home/ilyap/.conda/pkgs
       envs directories : /home/ilyap/miniconda3/envs
                          /home/ilyap/.conda/envs
               platform : linux-64
             user-agent : conda/4.14.0 requests/2.28.1 CPython/3.9.13 Linux/5.15.0-48-generic ubuntu/22.04.1 glibc/2.35
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False   

conarc

❯ /bin/cat ~/.condarc
channels:
  - conda-forge
  - defaults
channel_priority: strict

conda list

❯ conda list
# packages in environment at ~/miniconda3:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
anyio                     3.6.1              pyhd8ed1ab_1    conda-forge
argon2-cffi               21.3.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0           py39hb9d737c_2    conda-forge
asttokens                 2.0.8              pyhd8ed1ab_0    conda-forge
attrs                     22.1.0             pyh71513ae_1    conda-forge
babel                     2.10.3             pyhd8ed1ab_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.11.1             pyha770c72_0    conda-forge
bleach                    5.0.1              pyhd8ed1ab_0    conda-forge
brotli                    1.0.9                h166bdaf_7    conda-forge
brotli-bin                1.0.9                h166bdaf_7    conda-forge
brotlipy                  0.7.0           py39hb9d737c_1004    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2022.6.15.1          ha878542_0    conda-forge
certifi                   2022.6.15.1        pyhd8ed1ab_0    conda-forge
cffi                      1.15.1           py39he91dace_0    conda-forge
charset-normalizer        2.1.1              pyhd8ed1ab_0    conda-forge
colorama                  0.4.5              pyhd8ed1ab_0    conda-forge
conda                     4.14.0           py39hf3d152e_0    conda-forge
conda-libmamba-solver     22.8.1             pyhd8ed1ab_0    conda-forge
conda-package-handling    1.8.1            py39hb9d737c_1    conda-forge
cryptography              37.0.4           py39hd97740a_0    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
debugpy                   1.6.3            py39h5a03fae_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
executing                 1.0.0              pyhd8ed1ab_0    conda-forge
flit-core                 3.7.1              pyhd8ed1ab_0    conda-forge
fonttools                 4.37.1           py39hb9d737c_0    conda-forge
freetype                  2.12.1               hca18f0e_0    conda-forge
icu                       70.1                 h27087fc_0    conda-forge
idna                      3.3                pyhd8ed1ab_0    conda-forge
importlib-metadata        4.11.4           py39hf3d152e_0    conda-forge
importlib_metadata        4.11.4               hd8ed1ab_0    conda-forge
importlib_resources       5.9.0              pyhd8ed1ab_0    conda-forge
ipykernel                 6.15.2             pyh210e3f2_0    conda-forge
ipympl                    0.9.2              pyhd8ed1ab_0    conda-forge
ipython                   8.5.0              pyh41d4057_1    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
ipywidgets                8.0.2              pyhd8ed1ab_1    conda-forge
jedi                      0.18.1             pyhd8ed1ab_2    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_1    conda-forge
jpeg                      9e                   h166bdaf_2    conda-forge
json5                     0.9.5              pyh9f0ad1d_0    conda-forge
jsonschema                4.16.0             pyhd8ed1ab_0    conda-forge
jupyter-lsp               1.5.1              pyhd8ed1ab_0    conda-forge
jupyter_client            7.3.5              pyhd8ed1ab_0    conda-forge
jupyter_core              4.11.1           py39hf3d152e_0    conda-forge
jupyter_server            1.18.1             pyhd8ed1ab_0    conda-forge
jupyterlab                3.4.7              pyhd8ed1ab_0    conda-forge
jupyterlab-lsp            3.10.2             pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge
jupyterlab_server         2.15.1             pyhd8ed1ab_0    conda-forge
jupyterlab_widgets        3.0.3              pyhd8ed1ab_0    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
kiwisolver                1.4.4            py39hf939315_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libarchive                3.5.2                hb890918_3    conda-forge
libblas                   3.9.0           16_linux64_openblas    conda-forge
libbrotlicommon           1.0.9                h166bdaf_7    conda-forge
libbrotlidec              1.0.9                h166bdaf_7    conda-forge
libbrotlienc              1.0.9                h166bdaf_7    conda-forge
libcblas                  3.9.0           16_linux64_openblas    conda-forge
libcurl                   7.83.1               h7bff187_0    conda-forge
libdeflate                1.14                 h166bdaf_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgfortran-ng            12.1.0              h69a702a_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0           16_linux64_openblas    conda-forge
libmamba                  0.25.0               hd8a31e3_2    conda-forge
libmambapy                0.25.0           py39hd55135b_2    conda-forge
libnghttp2                1.47.0               hdcd2b5c_1    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.21          pthreads_h78a6416_3    conda-forge
libpng                    1.6.37               h753d276_4    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libsolv                   0.7.22               h6239696_0    conda-forge
libsqlite                 3.39.3               h753d276_0    conda-forge
libssh2                   1.10.0               haa6b8db_3    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libtiff                   4.4.0                h55922b4_4    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libwebp-base              1.2.4                h166bdaf_0    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libxml2                   2.9.14               h22db469_4    conda-forge
libxslt                   1.1.35               h8affb1d_0    conda-forge
libzlib                   1.2.12               h166bdaf_3    conda-forge
lxml                      4.9.1            py39hb9d737c_0    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
lzo                       2.10              h516909a_1000    conda-forge
mamba                     0.25.0           py39hfa8f2c8_2    conda-forge
markupsafe                2.1.1            py39hb9d737c_1    conda-forge
matplotlib-base           3.5.3            py39h19d6b11_2    conda-forge
matplotlib-inline         0.1.6              pyhd8ed1ab_0    conda-forge
mistune                   2.0.4              pyhd8ed1ab_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
nbclassic                 0.4.3              pyhd8ed1ab_0    conda-forge
nbclient                  0.6.8              pyhd8ed1ab_0    conda-forge
nbconvert                 7.0.0              pyhd8ed1ab_0    conda-forge
nbconvert-core            7.0.0              pyhd8ed1ab_0    conda-forge
nbconvert-pandoc          7.0.0              pyhd8ed1ab_0    conda-forge
nbformat                  5.5.0              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
nest-asyncio              1.5.5              pyhd8ed1ab_0    conda-forge
notebook                  6.4.12             pyha770c72_0    conda-forge
notebook-shim             0.1.0              pyhd8ed1ab_0    conda-forge
numpy                     1.23.3           py39hba7629e_0    conda-forge
openjpeg                  2.5.0                h7d73246_1    conda-forge
openssl                   1.1.1q               h166bdaf_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pandoc                    2.19.2               ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    9.2.0            py39hd5dbb17_2    conda-forge
pip                       22.2.2             pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_0    conda-forge
prometheus_client         0.14.1             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.31             pyha770c72_0    conda-forge
psutil                    5.9.2            py39hb9d737c_0    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.3           py39hb9d737c_1010    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pygments                  2.13.0             pyhd8ed1ab_0    conda-forge
pyopenssl                 22.0.0             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pyrsistent                0.18.1           py39hb9d737c_1    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.9.13          h9a8a25e_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.16.1             pyhd8ed1ab_0    conda-forge
python_abi                3.9                      2_cp39    conda-forge
pytz                      2022.2.1           pyhd8ed1ab_0    conda-forge
pyzmq                     23.2.1           py39headdf64_0    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
reproc                    14.2.3               h7f98852_0    conda-forge
reproc-cpp                14.2.3               h9c3ff4c_0    conda-forge
requests                  2.28.1             pyhd8ed1ab_1    conda-forge
ruamel_yaml               0.15.80         py39hb9d737c_1007    conda-forge
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setuptools                65.3.0             pyhd8ed1ab_1    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sniffio                   1.3.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.3.2.post1        pyhd8ed1ab_0    conda-forge
sqlite                    3.39.3               h4ff8645_0    conda-forge
stack_data                0.5.0              pyhd8ed1ab_0    conda-forge
terminado                 0.15.0           py39hf3d152e_0    conda-forge
tinycss2                  1.1.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
toolz                     0.12.0             pyhd8ed1ab_0    conda-forge
tornado                   6.2              py39hb9d737c_0    conda-forge
tqdm                      4.64.1             pyhd8ed1ab_0    conda-forge
traitlets                 5.4.0              pyhd8ed1ab_0    conda-forge
typing_extensions         4.3.0              pyha770c72_0    conda-forge
tzdata                    2022c                h191b570_0    conda-forge
unicodedata2              14.0.0           py39hb9d737c_1    conda-forge
urllib3                   1.26.11            pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
websocket-client          1.4.1              pyhd8ed1ab_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
widgetsnbextension        4.0.3              pyhd8ed1ab_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yaml-cpp                  0.7.0                h27087fc_1    conda-forge
zeromq                    4.3.4                h9c3ff4c_1    conda-forge
zipp                      3.8.1              pyhd8ed1ab_0    conda-forge
zstd                      1.5.2                h6239696_4    conda-forge

@agitter

This comment was marked as duplicate.

@jezdez jezdez transferred this issue from conda/conda Jan 20, 2023
@jezdez jezdez added this to the 23.1.0 milestone Jan 20, 2023
@jezdez jezdez added type::bug describes erroneous operation, use severity::* to classify the type source::community catch-all for issues filed by community members severity::1 blocker; broken functionality with no workaround labels Jan 24, 2023
@jezdez jezdez modified the milestones: 23.1.0, 23.2.0 Jan 30, 2023
@jaimergp
Copy link
Contributor

jaimergp commented Feb 9, 2023

@ipcoder - in which environment are you trying to install those packages? I am trying to reproduce but taking your base gives unsolvable, so I am assuming it has to do with a different environment.

ipcoder-base.yaml.txt

@ipcoder
Copy link

ipcoder commented Feb 9, 2023

@jaimergp I believe its an empty python 3.9 environment which I populate with the commands above.

It was awhile ago, and I could forget, but I usually work in separate environment, not in the base.

@jaimergp
Copy link
Contributor

jaimergp commented Feb 9, 2023

@daico007 - I took your environment (no dev) from this PR (mosdef-hub/gmso#689), reverted the pydantic dependency to < 1.9.0, and ran it on a clean Docker image:

daico007.yaml.txt

$ CONDA_SUBDIR=linux-64 conda env create -f daico007.yaml --solver=libmamba --dry-run
conda-forge/noarch                                          Using cache
conda-forge/linux-64                                29.6MB @   2.3MB/s 21.0s
Collect all metadata (repodata.json): done
Solving environment: done
name: daico007
channels:
  - conda-forge
dependencies:
  - conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
  - conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
  - conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
  - conda-forge/linux-64::libgfortran5==12.2.0=h337968e_19
  - conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
  - conda-forge/linux-64::python_abi==3.11=3_cp311
  - conda-forge/noarch::tzdata==2022g=h191b570_0
  - conda-forge/linux-64::libgfortran-ng==12.2.0=h69a702a_19
  - conda-forge/linux-64::libgomp==12.2.0=h65d4601_19
  - conda-forge/linux-64::_openmp_mutex==4.5=2_gnu
  - conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
  - conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
  - conda-forge/linux-64::cudatoolkit==11.8.0=h37601d7_11
  - conda-forge/linux-64::gmp==6.2.1=h58526e2_0
  - conda-forge/linux-64::icu==70.1=h27087fc_0
  - conda-forge/linux-64::libffi==3.4.2=h7f98852_5
  - conda-forge/linux-64::libiconv==1.17=h166bdaf_0
  - conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
  - conda-forge/linux-64::libopenblas==0.3.21=pthreads_h78a6416_3
  - conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
  - conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
  - conda-forge/linux-64::ncurses==6.3=h27087fc_1
  - conda-forge/linux-64::ocl-icd==2.3.1=h7f98852_0
  - conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
  - conda-forge/linux-64::xz==5.2.6=h166bdaf_0
  - conda-forge/linux-64::libblas==3.9.0=16_linux64_openblas
  - conda-forge/linux-64::libprotobuf==3.21.12=h3eb15da_0
  - conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
  - conda-forge/linux-64::libxml2==2.10.3=h7463322_0
  - conda-forge/linux-64::mpfr==4.1.0=h9202a9a_1
  - conda-forge/linux-64::ocl-icd-system==1.0.0=1
  - conda-forge/linux-64::readline==8.1.2=h0f457ee_0
  - conda-forge/linux-64::tk==8.6.12=h27826a3_0
  - conda-forge/linux-64::libcblas==3.9.0=16_linux64_openblas
  - conda-forge/linux-64::liblapack==3.9.0=16_linux64_openblas
  - conda-forge/linux-64::libxslt==1.1.37=h873f0b0_0
  - conda-forge/linux-64::mpc==1.3.1=hfe3b2da_0
  - conda-forge/linux-64::python==3.11.0=he550d4f_1_cpython
  - conda-forge/noarch::boltons==21.0.0=pyhd8ed1ab_0
  - conda-forge/noarch::certifi==2022.12.7=pyhd8ed1ab_0
  - conda-forge/noarch::charset-normalizer==2.1.1=pyhd8ed1ab_0
  - conda-forge/noarch::dataclasses==0.8=pyhc8e2a94_3
  - conda-forge/noarch::ele==0.2.0=pyhd8ed1ab_0
  - conda-forge/linux-64::gmpy2==2.1.2=py311h6a5fa03_1
  - conda-forge/noarch::idna==3.4=pyhd8ed1ab_0
  - conda-forge/noarch::lark-parser==0.12.0=pyhd8ed1ab_0
  - conda-forge/linux-64::lxml==4.9.2=py311h14a6109_0
  - conda-forge/noarch::mpmath==1.2.1=pyhd8ed1ab_0
  - conda-forge/noarch::networkx==3.0=pyhd8ed1ab_0
  - conda-forge/linux-64::numpy==1.24.2=py311h8e6699e_0
  - conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
  - conda-forge/noarch::pysocks==1.7.1=pyha2e5f31_6
  - conda-forge/noarch::pytz==2022.7.1=pyhd8ed1ab_0
  - conda-forge/noarch::setuptools==67.1.0=pyhd8ed1ab_0
  - conda-forge/noarch::six==1.16.0=pyh6c4a22f_0
  - conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
  - conda-forge/linux-64::cffi==1.15.1=py311h409f033_3
  - conda-forge/linux-64::openmm==8.0.0=py311h59c6c42_0
  - conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
  - conda-forge/linux-64::protobuf==4.21.12=py311hcafe171_0
  - conda-forge/noarch::pydantic==0.18.2=py_0
  - conda-forge/noarch::python-dateutil==2.8.2=pyhd8ed1ab_0
  - conda-forge/linux-64::sympy==1.11.1=py311h38be061_2
  - conda-forge/linux-64::brotlipy==0.7.0=py311hd4cff14_1005
  - conda-forge/linux-64::cryptography==39.0.1=py311h9b4c7bb_0
  - conda-forge/linux-64::pandas==1.5.3=py311h2872171_0
  - conda-forge/noarch::unyt==2.8.0=py_0
  - conda-forge/noarch::gmso==0.9.0=pyhd8ed1ab_0
  - conda-forge/linux-64::parmed==4.0.0=py311hcafe171_0
  - conda-forge/noarch::pyopenssl==23.0.0=pyhd8ed1ab_0
  - conda-forge/noarch::urllib3==1.26.14=pyhd8ed1ab_0
  - conda-forge/noarch::requests==2.28.2=pyhd8ed1ab_0
  - conda-forge/noarch::foyer==0.11.3=pyhd8ed1ab_0
  - conda-forge/noarch::forcefield-utilities==0.2.1=pyhd8ed1ab_0

conda-forge/noarch::pydantic==0.18.2=py_0 is being chosen, which reproduces what you saw. classic does get 1.8.2. (note: updated this sentence to fix an oversight)

classic
$ CONDA_SUBDIR=linux-64 conda env create -f daico007.yaml --solver=classic --dry-run
Collecting package metadata (repodata.json): done
Solving environment: done
name: daico007
channels:
  - conda-forge
dependencies:
  - conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
  - conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
  - conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
  - conda-forge/linux-64::libgfortran5==12.2.0=h337968e_19
  - conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
  - conda-forge/linux-64::python_abi==3.10=3_cp310
  - conda-forge/noarch::tzdata==2022g=h191b570_0
  - conda-forge/linux-64::libgfortran-ng==12.2.0=h69a702a_19
  - conda-forge/linux-64::libgomp==12.2.0=h65d4601_19
  - conda-forge/linux-64::_openmp_mutex==4.5=2_gnu
  - conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
  - conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
  - conda-forge/linux-64::cudatoolkit==11.8.0=h37601d7_11
  - conda-forge/linux-64::gmp==6.2.1=h58526e2_0
  - conda-forge/linux-64::icu==70.1=h27087fc_0
  - conda-forge/linux-64::libffi==3.4.2=h7f98852_5
  - conda-forge/linux-64::libiconv==1.17=h166bdaf_0
  - conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
  - conda-forge/linux-64::libopenblas==0.3.21=pthreads_h78a6416_3
  - conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
  - conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
  - conda-forge/linux-64::ncurses==6.3=h27087fc_1
  - conda-forge/linux-64::ocl-icd==2.3.1=h7f98852_0
  - conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
  - conda-forge/linux-64::xz==5.2.6=h166bdaf_0
  - conda-forge/linux-64::libblas==3.9.0=16_linux64_openblas
  - conda-forge/linux-64::libprotobuf==3.21.12=h3eb15da_0
  - conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
  - conda-forge/linux-64::libxml2==2.10.3=h7463322_0
  - conda-forge/linux-64::mpfr==4.1.0=h9202a9a_1
  - conda-forge/linux-64::ocl-icd-system==1.0.0=1
  - conda-forge/linux-64::readline==8.1.2=h0f457ee_0
  - conda-forge/linux-64::tk==8.6.12=h27826a3_0
  - conda-forge/linux-64::libcblas==3.9.0=16_linux64_openblas
  - conda-forge/linux-64::liblapack==3.9.0=16_linux64_openblas
  - conda-forge/linux-64::libxslt==1.1.37=h873f0b0_0
  - conda-forge/linux-64::mpc==1.3.1=hfe3b2da_0
  - conda-forge/linux-64::python==3.10.9=he550d4f_0_cpython
  - conda-forge/noarch::boltons==21.0.0=pyhd8ed1ab_0
  - conda-forge/noarch::certifi==2022.12.7=pyhd8ed1ab_0
  - conda-forge/noarch::charset-normalizer==2.1.1=pyhd8ed1ab_0
  - conda-forge/noarch::ele==0.2.0=pyhd8ed1ab_0
  - conda-forge/linux-64::gmpy2==2.1.2=py310h3ec546c_1
  - conda-forge/noarch::idna==3.4=pyhd8ed1ab_0
  - conda-forge/noarch::lark-parser==0.12.0=pyhd8ed1ab_0
  - conda-forge/linux-64::lxml==4.9.2=py310hbdc0903_0
  - conda-forge/noarch::mpmath==1.2.1=pyhd8ed1ab_0
  - conda-forge/noarch::networkx==3.0=pyhd8ed1ab_0
  - conda-forge/linux-64::numpy==1.24.2=py310h8deb116_0
  - conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
  - conda-forge/noarch::pysocks==1.7.1=pyha2e5f31_6
  - conda-forge/noarch::pytz==2022.7.1=pyhd8ed1ab_0
  - conda-forge/noarch::setuptools==67.1.0=pyhd8ed1ab_0
  - conda-forge/noarch::six==1.16.0=pyh6c4a22f_0
  - conda-forge/noarch::typing_extensions==4.4.0=pyha770c72_0
  - conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
  - conda-forge/linux-64::cffi==1.15.1=py310h255011f_3
  - conda-forge/linux-64::openmm==8.0.0=py310h5728c26_0
  - conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
  - conda-forge/linux-64::protobuf==4.21.12=py310heca2aa9_0
  - conda-forge/noarch::python-dateutil==2.8.2=pyhd8ed1ab_0
  - conda-forge/linux-64::sympy==1.11.1=py310hff52083_2
  - conda-forge/noarch::typing-extensions==4.4.0=hd8ed1ab_0
  - conda-forge/linux-64::brotlipy==0.7.0=py310h5764c6d_1005
  - conda-forge/linux-64::cryptography==39.0.1=py310h34c0648_0
  - conda-forge/linux-64::pandas==1.5.3=py310h9b08913_0
  - conda-forge/linux-64::pydantic==1.8.2=py310h6acc77f_2
  - conda-forge/noarch::unyt==2.8.0=py_0
  - conda-forge/linux-64::parmed==4.0.0=py310heca2aa9_0
  - conda-forge/noarch::pyopenssl==23.0.0=pyhd8ed1ab_0
  - conda-forge/noarch::urllib3==1.26.14=pyhd8ed1ab_0
  - conda-forge/noarch::requests==2.28.2=pyhd8ed1ab_0
  - conda-forge/noarch::foyer==0.11.3=pyhd8ed1ab_0
  - conda-forge/noarch::forcefield-utilities==0.2.1=pyhd8ed1ab_0
  - conda-forge/noarch::gmso==0.9.1=pyhd8ed1ab_0

@daico007
Copy link
Author

daico007 commented Feb 9, 2023

Hi @jaimergp, when I am constraining the pydantic<1.9, I am expecting conda to grab the latest version of pydantic that satisfy the requirement (which would be v1.8.2, which I would get using mamba, not v0.18.2), but please correct me if that's not the designed behavior. This discrepancy (between conda and mamba) also happened if I just install pydantic alone, so I can't really blame it's on the inter-dependency in the environment.yml.

@jaimergp
Copy link
Contributor

jaimergp commented Feb 9, 2023

@ipcoder - my results for the following input:

name: ipcoder
channels:
- conda-forge
- defaults
dependencies:
- python=3.9
- pytorch==1.10.2
- torchvision==0.11.3
- cudatoolkit=11.3

There are some differences in the MKL/openblas stack, but pytorch itself is indeed CPU in both.

libmamba
$ CONDA_SUBDIR=linux-64 conda env create -f ipcoder.yaml --dry-run --solver=libmamba
warning  libmamba Could not parse mod/etag header
warning  libmamba Could not parse mod/etag header
warning  libmamba Could not parse mod/etag header
pkgs/main/noarch                                              No change
pkgs/r/linux-64                                               No change
pkgs/r/noarch                                                 No change
pkgs/main/linux-64                                   5.2MB @   2.5MB/s  2.7s
conda-forge/noarch                                  11.2MB @   3.5MB/s  4.3s
conda-forge/linux-64                                29.6MB @   3.3MB/s 12.4s
Collect all metadata (repodata.json): done
Solving environment: done
name: ipcoder
channels:
  - conda-forge
  - defaults
dependencies:
  - conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
  - conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
  - conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
  - conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
  - conda-forge/linux-64::python_abi==3.9=3_cp39
  - conda-forge/noarch::tzdata==2022g=h191b570_0
  - conda-forge/linux-64::libgomp==12.2.0=h65d4601_19
  - conda-forge/linux-64::_openmp_mutex==4.5=2_gnu
  - conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
  - conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
  - conda-forge/linux-64::cudatoolkit==11.3.1=h9edb442_11
  - conda-forge/linux-64::gmp==6.2.1=h58526e2_0
  - conda-forge/linux-64::jpeg==9e=h166bdaf_2
  - conda-forge/linux-64::lame==3.100=h166bdaf_1003
  - conda-forge/linux-64::lerc==4.0.0=h27087fc_0
  - conda-forge/linux-64::libdeflate==1.17=h0b41bf4_0
  - conda-forge/linux-64::libffi==3.4.2=h7f98852_5
  - conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
  - conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
  - conda-forge/linux-64::libwebp-base==1.2.4=h166bdaf_0
  - conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
  - conda-forge/linux-64::ncurses==6.3=h27087fc_1
  - conda-forge/linux-64::nettle==3.6=he412f7d_0
  - conda-forge/linux-64::ninja==1.11.0=h924138e_0
  - conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
  - conda-forge/linux-64::pthread-stubs==0.4=h36c2ea0_1001
  - conda-forge/linux-64::sleef==3.5.1=h9b69904_2
  - conda-forge/linux-64::x264==1!161.3030=h7f98852_1
  - conda-forge/linux-64::xorg-libxau==1.0.9=h7f98852_0
  - conda-forge/linux-64::xorg-libxdmcp==1.1.3=h7f98852_0
  - conda-forge/linux-64::xz==5.2.6=h166bdaf_0
  - conda-forge/linux-64::gnutls==3.6.13=h85f3911_1
  - conda-forge/linux-64::libpng==1.6.39=h753d276_0
  - conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
  - conda-forge/linux-64::libxcb==1.13=h7f98852_1004
  - conda-forge/linux-64::readline==8.1.2=h0f457ee_0
  - conda-forge/linux-64::tk==8.6.12=h27826a3_0
  - conda-forge/linux-64::zlib==1.2.13=h166bdaf_4
  - conda-forge/linux-64::zstd==1.5.2=h3eb15da_6
  - conda-forge/linux-64::freetype==2.12.1=hca18f0e_1
  - defaults/linux-64::intel-openmp==2022.1.0=h9e868ea_3769
  - conda-forge/linux-64::libprotobuf==3.19.4=h780b84a_0
  - conda-forge/linux-64::libtiff==4.5.0=h6adf6a1_2
  - conda-forge/linux-64::openh264==2.1.1=h780b84a_0
  - conda-forge/linux-64::python==3.9.16=h2782a2a_0_cpython
  - conda-forge/linux-64::ffmpeg==4.3.2=h37c90e5_3
  - conda-forge/noarch::future==0.18.3=pyhd8ed1ab_0
  - conda-forge/linux-64::lcms2==2.14=hfd0df8a_1
  - defaults/linux-64::mkl==2022.1.0=hc2b9512_224
  - conda-forge/linux-64::openjpeg==2.5.0=hfec8fc6_2
  - conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
  - conda-forge/linux-64::setuptools==59.5.0=py39hf3d152e_0
  - conda-forge/noarch::typing_extensions==4.4.0=pyha770c72_0
  - conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
  - conda-forge/linux-64::cffi==1.15.1=py39he91dace_3
  - conda-forge/linux-64::libblas==3.9.0=16_linux64_mkl
  - conda-forge/linux-64::pillow==9.4.0=py39h2320bf1_1
  - conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
  - conda-forge/linux-64::libcblas==3.9.0=16_linux64_mkl
  - conda-forge/linux-64::liblapack==3.9.0=16_linux64_mkl
  - conda-forge/linux-64::numpy==1.24.2=py39h7360e5f_0
  - conda-forge/linux-64::pytorch==1.10.2=cpu_py39h5e9ed0b_1
  - conda-forge/linux-64::torchvision==0.11.3=cpu_py39hfc47f1b_2
classic
$ CONDA_SUBDIR=linux-64 conda env create -f ipcoder.yaml --dry-run
Collecting package metadata (repodata.json): done
Solving environment: done
name: ipcoder
channels:
  - conda-forge
  - defaults
dependencies:
  - conda-forge/linux-64::_libgcc_mutex==0.1=conda_forge
  - conda-forge/linux-64::ca-certificates==2022.12.7=ha878542_0
  - conda-forge/linux-64::ld_impl_linux-64==2.40=h41732ed_0
  - conda-forge/linux-64::libstdcxx-ng==12.2.0=h46fd767_19
  - conda-forge/linux-64::python_abi==3.9=3_cp39
  - conda-forge/noarch::tzdata==2022g=h191b570_0
  - conda-forge/linux-64::_openmp_mutex==4.5=2_kmp_llvm
  - conda-forge/linux-64::libgcc-ng==12.2.0=h65d4601_19
  - conda-forge/linux-64::bzip2==1.0.8=h7f98852_4
  - conda-forge/linux-64::cudatoolkit==11.3.1=h9edb442_11
  - conda-forge/linux-64::gmp==6.2.1=h58526e2_0
  - conda-forge/linux-64::icu==70.1=h27087fc_0
  - conda-forge/linux-64::jpeg==9e=h166bdaf_2
  - conda-forge/linux-64::lame==3.100=h166bdaf_1003
  - conda-forge/linux-64::lerc==4.0.0=h27087fc_0
  - conda-forge/linux-64::libdeflate==1.17=h0b41bf4_0
  - conda-forge/linux-64::libffi==3.4.2=h7f98852_5
  - conda-forge/linux-64::libiconv==1.17=h166bdaf_0
  - conda-forge/linux-64::libnsl==2.0.0=h7f98852_0
  - conda-forge/linux-64::libuuid==2.32.1=h7f98852_1000
  - conda-forge/linux-64::libwebp-base==1.2.4=h166bdaf_0
  - conda-forge/linux-64::libzlib==1.2.13=h166bdaf_4
  - conda-forge/linux-64::ncurses==6.3=h27087fc_1
  - conda-forge/linux-64::nettle==3.6=he412f7d_0
  - conda-forge/linux-64::ninja==1.11.0=h924138e_0
  - conda-forge/linux-64::openssl==3.0.8=h0b41bf4_0
  - conda-forge/linux-64::pthread-stubs==0.4=h36c2ea0_1001
  - conda-forge/linux-64::sleef==3.5.1=h9b69904_2
  - conda-forge/linux-64::x264==1!161.3030=h7f98852_1
  - conda-forge/linux-64::xorg-libxau==1.0.9=h7f98852_0
  - conda-forge/linux-64::xorg-libxdmcp==1.1.3=h7f98852_0
  - conda-forge/linux-64::xz==5.2.6=h166bdaf_0
  - conda-forge/linux-64::gnutls==3.6.13=h85f3911_1
  - conda-forge/linux-64::libpng==1.6.39=h753d276_0
  - conda-forge/linux-64::libsqlite==3.40.0=h753d276_0
  - conda-forge/linux-64::libxcb==1.13=h7f98852_1004
  - conda-forge/linux-64::libxml2==2.10.3=h7463322_0
  - conda-forge/linux-64::llvm-openmp==15.0.7=h0cdce71_0
  - conda-forge/linux-64::readline==8.1.2=h0f457ee_0
  - conda-forge/linux-64::tk==8.6.12=h27826a3_0
  - conda-forge/linux-64::zlib==1.2.13=h166bdaf_4
  - conda-forge/linux-64::zstd==1.5.2=h3eb15da_6
  - conda-forge/linux-64::freetype==2.12.1=hca18f0e_1
  - conda-forge/linux-64::libhwloc==2.8.0=h32351e8_1
  - conda-forge/linux-64::libprotobuf==3.19.4=h780b84a_0
  - conda-forge/linux-64::libtiff==4.5.0=h6adf6a1_2
  - conda-forge/linux-64::openh264==2.1.1=h780b84a_0
  - conda-forge/linux-64::python==3.9.16=h2782a2a_0_cpython
  - conda-forge/linux-64::ffmpeg==4.3.2=h37c90e5_3
  - conda-forge/noarch::future==0.18.3=pyhd8ed1ab_0
  - conda-forge/linux-64::lcms2==2.14=hfd0df8a_1
  - conda-forge/linux-64::openjpeg==2.5.0=hfec8fc6_2
  - conda-forge/noarch::pycparser==2.21=pyhd8ed1ab_0
  - conda-forge/linux-64::setuptools==59.5.0=py39hf3d152e_0
  - conda-forge/linux-64::tbb==2021.7.0=h924138e_1
  - conda-forge/noarch::typing_extensions==4.4.0=pyha770c72_0
  - conda-forge/noarch::wheel==0.38.4=pyhd8ed1ab_0
  - conda-forge/linux-64::cffi==1.15.1=py39he91dace_3
  - conda-forge/linux-64::mkl==2022.2.1=h84fe81f_16997
  - conda-forge/linux-64::pillow==9.4.0=py39h2320bf1_1
  - conda-forge/noarch::pip==23.0=pyhd8ed1ab_0
  - conda-forge/linux-64::libblas==3.9.0=16_linux64_mkl
  - conda-forge/linux-64::libcblas==3.9.0=16_linux64_mkl
  - conda-forge/linux-64::liblapack==3.9.0=16_linux64_mkl
  - conda-forge/linux-64::numpy==1.24.2=py39h7360e5f_0
  - conda-forge/linux-64::pytorch==1.10.2=cpu_py39h5e9ed0b_1
  - conda-forge/linux-64::torchvision==0.11.3=cpu_py39h955d6d4_2

@jaimergp
Copy link
Contributor

jaimergp commented Feb 9, 2023

Hi jaimergp, when I am constraining the pydantic<1.9, I am expecting conda to grab the latest version of pydantic that satisfy the requirement (which would be v1.8.2, which I would get using mamba, not v0.18.2), but please correct me if that's not the designed behavior. This discrepancy (between conda and mamba) also happened if I just install pydantic alone, so I can't really blame it's on the inter-dependency in the environment.yml.

Wow you are right @daico007. I saw 1-8-2 in both and then omitted the 0. I updated my above comment, sorry! We'll look into it.

@jezdez jezdez added the pending::discussion contains some ongoing discussion that needs to be resolved prior to proceeding label Feb 17, 2023
@jaimergp
Copy link
Contributor

jaimergp commented May 2, 2023

Hi @daico007, I have looked a bit further into your reproducer. I just realized you are not specifying any particular python version, so libsolv has to try all of them. In that backtracking process, it will try to select pydantic 1.8.2 for Python 3.11, which doesn't exist, and this will trigger a cascade of alternative searches that concludes that the pydantic 0.8.2 does work with Python 3.11 (because it's noarch and its repodata has an open-ended upper bound), before trying Python 3.10 and Pydantic 1.8.2.

IOW, libsolv cannot anticipate that you'd prefer a more recent pydantic over a more recent python, so it prioritizes getting python 3.11 over getting pydantic 1.8.2.

If you specify any Python version, you do get 1.8.2. This works even with python <3.11.

More details:

@github-project-automation github-project-automation bot moved this to 🏁 Done in 🧭 Planning May 11, 2023
@github-actions github-actions bot added the locked [bot] locked due to inactivity label May 11, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked [bot] locked due to inactivity pending::discussion contains some ongoing discussion that needs to be resolved prior to proceeding severity::1 blocker; broken functionality with no workaround source::community catch-all for issues filed by community members type::bug describes erroneous operation, use severity::* to classify the type
Projects
Archived in project
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants