conda / conda-lock

Lightweight lockfile for conda environments
https://conda.github.io/conda-lock/
Other
459 stars 102 forks source link

Error processing dependency when writing lockfile #414

Closed AlbertDeFusco closed 1 year ago

AlbertDeFusco commented 1 year ago

Checklist

What happened?

locking following environment.yml file fails

channels: [defaults]
dependencies: [cryptography]
platforms: [linux-64]

Here's the error message

❯ conda-lock lock
Locking dependencies for ['linux-64']...
INFO:conda_lock.conda_solver:linux-64 using specs ['cryptography']
Traceback (most recent call last):
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/src_parser/__init__.py", line 488, in seperator_munge_get
    return d[key]
KeyError: 'openssl<1.1.2a'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/src_parser/__init__.py", line 491, in seperator_munge_get
    return d[key.replace("-", "_")]
KeyError: 'openssl<1.1.2a'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/adefusco/Applications/miniconda3/bin/conda-lock", line 11, in <module>
    sys.exit(main())
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/conda_lock.py", line 1353, in lock
    lock_func(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/conda_lock.py", line 1083, in run_lock
    make_lock_files(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/conda_lock.py", line 408, in make_lock_files
    lock_content = lock_content | create_lockfile_from_spec(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/conda_lock.py", line 801, in create_lockfile_from_spec
    deps = _solve_for_arch(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/conda_lock.py", line 723, in _solve_for_arch
    conda_deps = solve_conda(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/conda_solver.py", line 210, in solve_conda
    _apply_categories(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/src_parser/__init__.py", line 502, in _apply_categories
    for dep in seperator_munge_get(planned, item).dependencies
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_lock/src_parser/__init__.py", line 493, in seperator_munge_get
    return d[key.replace("_", "-")]
KeyError: 'openssl<1.1.2a'

Conda Info

active environment : base
    active env location : /Users/adefusco/Applications/miniconda3
            shell level : 1
       user config file : /Users/adefusco/.condarc
 populated config files : /Users/adefusco/.condarc
          conda version : 23.3.1
    conda-build version : 3.23.3
         python version : 3.9.13.final.0
       virtual packages : __archspec=1=arm64
                          __osx=13.4=0
                          __unix=0=0
       base environment : /Users/adefusco/Applications/miniconda3  (writable)
      conda av data dir : /Users/adefusco/Applications/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/defusco/osx-arm64
                          https://conda.anaconda.org/defusco/noarch
                          https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://conda.anaconda.org/anaconda-cloud/osx-arm64
                          https://conda.anaconda.org/anaconda-cloud/noarch
          package cache : /Users/adefusco/Applications/miniconda3/pkgs
                          /Users/adefusco/.conda/pkgs
       envs directories : /Users/adefusco/Applications/miniconda3/envs
                          /Users/adefusco/.conda/envs
               platform : osx-arm64
             user-agent : conda/23.3.1 requests/2.28.1 CPython/3.9.13 Darwin/22.5.0 OSX/13.4
                UID:GID : 502:20
             netrc file : None
           offline mode : False

Conda Config

==> /Users/adefusco/.condarc <==
extra_safety_checks: False
ssl_verify: True
add_anaconda_token: True
channels:
  - defaults
restore_free_channel: False

Conda list

# packages in environment at /Users/adefusco/Applications/miniconda3:
#
# Name                    Version                   Build  Channel
aiohttp                   3.8.3            py39h80987f9_0    defaults
aiosignal                 1.2.0              pyhd3eb1b0_0    defaults
altgraph                  0.17.3           py39hca03da5_0    defaults
anaconda-client           1.11.0           py39hca03da5_0    https://repo.anaconda.cloud/repo/main
anaconda-project          0.11.1           py39hca03da5_0    https://repo.anaconda.cloud/repo/main
ansi2html                 1.8.0            py39h2804cbe_0    conda-forge
anyio                     3.5.0            py39hca03da5_0    defaults
appdirs                   1.4.4              pyhd3eb1b0_0    defaults
appnope                   0.1.2           py39hca03da5_1001    defaults
argon2-cffi               21.3.0             pyhd3eb1b0_0    defaults
argon2-cffi-bindings      21.2.0           py39h1a28f6b_0    defaults
arrow                     1.2.3            py39hca03da5_1    defaults
asciinema                 2.2.0              pyhd8ed1ab_0    conda-forge
asttokens                 2.0.5              pyhd3eb1b0_0    defaults
async-timeout             4.0.2            py39hca03da5_0    defaults
attrs                     22.1.0           py39hca03da5_0    defaults
backcall                  0.2.0              pyhd3eb1b0_0    defaults
backports                 1.1                pyhd3eb1b0_0    defaults
backports.functools_lru_cache 1.6.4              pyhd3eb1b0_0    defaults
backports.tempfile        1.0                pyhd3eb1b0_1    defaults
backports.weakref         1.0.post1                  py_1    defaults
beautifulsoup4            4.12.2           py39hca03da5_0    defaults
binaryornot               0.4.4              pyhd3eb1b0_1    defaults
bleach                    4.1.0              pyhd3eb1b0_0    defaults
boltons                   23.0.0           py39hca03da5_0    defaults
brotlipy                  0.7.0           py39h1a28f6b_1002    defaults
bzip2                     1.0.8                h620ffc9_4    defaults
c-ares                    1.19.0               h80987f9_0    defaults
ca-certificates           2023.01.10           hca03da5_0    defaults
cachecontrol              0.12.11          py39hca03da5_1    defaults
cachecontrol-with-filecache 0.12.11          py39hca03da5_1    defaults
cachy                     0.3.0              pyhd3eb1b0_0    defaults
cctools                   949.0.1             hc179dcd_25    defaults
cctools_osx-arm64         949.0.1             h332cad3_25    defaults
certifi                   2022.12.7        py39hca03da5_0    defaults
cffi                      1.15.1           py39h80987f9_3    defaults
cfgv                      3.3.1            py39hca03da5_0    defaults
chardet                   4.0.0           py39hca03da5_1003    defaults
charset-normalizer        2.0.4              pyhd3eb1b0_0    defaults
cleo                      2.0.1            py39hca03da5_0    defaults
click                     8.0.4            py39hca03da5_0    defaults
click-default-group       1.2.2            py39hca03da5_0    defaults
clikit                    0.6.2              pyhd8ed1ab_2    conda-forge
clyent                    1.2.2            py39hca03da5_1    defaults
cmarkgfm                  0.4.2            py39h1a28f6b_0    defaults
colorama                  0.4.6            py39hca03da5_0    defaults
commonmark                0.9.1                    pypi_0    pypi
conda                     23.3.1           py39hca03da5_0    defaults
conda-audit               0.8.1            py39hca03da5_0    https://repo.anaconda.cloud/repo/main
conda-build               3.23.3           py39hca03da5_0    https://repo.anaconda.cloud/repo/main
conda-content-trust       0.1.3            py39hca03da5_0    defaults
conda-libmamba-solver     23.3.0           py39hca03da5_0    defaults
conda-lock                1.4.0            py39hca03da5_0    defaults
conda-pack                0.6.0              pyhd3eb1b0_0    defaults
conda-package-handling    2.0.2            py39hca03da5_0    defaults
conda-package-streaming   0.7.0            py39hca03da5_0    defaults
conda-project             0.2.0              pyhd8ed1ab_0    conda-forge
conda-repo-cli            1.0.5            py39hca03da5_0    https://repo.anaconda.cloud/repo/main
conda-souschef            2.2.3            py39hca03da5_0    defaults
conda-token               0.3.0              pyhd3eb1b0_0    https://repo.anaconda.cloud/repo/main
conda-tree                1.0.5              pyhd8ed1ab_0    conda-forge
conda-verify              3.4.2                      py_1    defaults
condax                    0.0.5              pyhd8ed1ab_0    conda-forge
cookiecutter              1.7.3              pyhd3eb1b0_0    defaults
crashtest                 0.4.1            py39hca03da5_0    defaults
cryptography              39.0.1           py39h834c97f_0    defaults
decorator                 5.1.1              pyhd3eb1b0_0    defaults
defusedxml                0.7.1              pyhd3eb1b0_0    defaults
distlib                   0.3.6            py39hca03da5_0    defaults
docutils                  0.18.1           py39hca03da5_3    defaults
dulwich                   0.21.3           py39h80987f9_0    defaults
ensureconda               1.4.3            py39hca03da5_0    defaults
entrypoints               0.4              py39hca03da5_0    defaults
executing                 0.8.3              pyhd3eb1b0_0    defaults
filelock                  3.9.0            py39hca03da5_0    defaults
fmt                       9.1.0                h48ca7d4_0    defaults
frozenlist                1.3.3            py39h80987f9_0    defaults
fsspec                    2023.3.0         py39hca03da5_0    defaults
future                    0.18.3           py39hca03da5_0    defaults
gitdb                     4.0.7              pyhd3eb1b0_0    defaults
gitpython                 3.1.30           py39hca03da5_0    defaults
glob2                     0.7                pyhd3eb1b0_0    defaults
grayskull                 2.2.2            py39hca03da5_0    defaults
html5lib                  1.1                pyhd3eb1b0_0    defaults
icu                       68.1                 hc377ac9_0    defaults
identify                  2.5.5            py39hca03da5_0    defaults
idna                      3.4              py39hca03da5_0    defaults
importlib-metadata        6.0.0            py39hca03da5_0    defaults
importlib_metadata        6.0.0                hd3eb1b0_0    defaults
ipython                   8.4.0            py39hca03da5_0    https://repo.anaconda.cloud/repo/main
ipython_genutils          0.2.0              pyhd3eb1b0_1    defaults
jaraco.classes            3.2.1              pyhd3eb1b0_0    defaults
jedi                      0.18.1           py39hca03da5_1    defaults
jinja2                    3.1.2            py39hca03da5_0    defaults
jinja2-time               0.2.0              pyhd3eb1b0_3    defaults
jq                        1.6                  h1a28f6b_1    https://repo.anaconda.cloud/repo/main
jsonpatch                 1.32               pyhd3eb1b0_0    defaults
jsonpointer               2.1                pyhd3eb1b0_0    defaults
jsonschema                4.17.3           py39hca03da5_0    defaults
jupyter-server-mathjax    0.2.6              pyh5bfe37b_1    conda-forge
jupyter_client            8.1.0            py39hca03da5_0    defaults
jupyter_core              5.3.0            py39hca03da5_0    defaults
jupyter_server            1.23.4           py39hca03da5_0    defaults
jupyterlab_pygments       0.1.2                      py_0    defaults
keyring                   23.13.1          py39hca03da5_0    defaults
krb5                      1.19.4               h8380606_0    defaults
ld64                      530                 hb29bf3f_25    defaults
ld64_osx-arm64            530                 h001ce53_25    defaults
ldid                      2.1.2                h64d1936_2    defaults
libarchive                3.6.2                h09f0540_1    defaults
libblas                   3.9.0           16_osxarm64_openblas    conda-forge
libcblas                  3.9.0           16_osxarm64_openblas    conda-forge
libcurl                   7.88.1               h0f1d93c_0    defaults
libcxx                    14.0.6               h848a8c0_0    defaults
libedit                   3.1.20221030         h80987f9_0    defaults
libev                     4.33                 h1a28f6b_1    defaults
libffi                    3.4.2                hca03da5_6    defaults
libgfortran               5.0.0           11_3_0_hca03da5_28    defaults
libgfortran5              11.3.0              h009349e_28    defaults
libiconv                  1.16                 h1a28f6b_2    defaults
libidn2                   2.3.1                h1a28f6b_0    defaults
liblapack                 3.9.0           16_osxarm64_openblas    conda-forge
liblief                   0.12.3               h313beb8_0    defaults
libllvm14                 14.0.6               h7ec7a93_2    defaults
libmamba                  1.4.1                h48ca7d4_0    defaults
libmambapy                1.4.1            py39h48ca7d4_0    defaults
libnghttp2                1.46.0               h95c9599_0    defaults
libopenblas               0.3.21               h269037a_0    defaults
libsodium                 1.0.18               h1a28f6b_0    defaults
libsolv                   0.7.22               h98b2900_0    defaults
libssh2                   1.10.0               hf27765b_0    defaults
libunistring              0.9.10               h1a28f6b_0    defaults
libuv                     1.39.0               h1a28f6b_0    defaults
libxml2                   2.10.3               h372ba2a_0    defaults
libzlib                   1.2.13               h03a7124_4    conda-forge
llvm-openmp               14.0.6               hc6e5704_0    defaults
lockfile                  0.12.2           py39hca03da5_0    defaults
lz4-c                     1.9.4                h313beb8_0    defaults
macholib                  1.16.2           py39hca03da5_0    defaults
markupsafe                2.1.1            py39h1a28f6b_0    defaults
matplotlib-inline         0.1.6            py39hca03da5_0    defaults
mistune                   0.8.4           py39h1a28f6b_1000    defaults
more-itertools            8.12.0             pyhd3eb1b0_0    defaults
msgpack-python            1.0.3            py39h525c30c_0    defaults
multidict                 6.0.2            py39h1a28f6b_0    defaults
nbclient                  0.5.13           py39hca03da5_0    defaults
nbconvert                 6.4.4            py39hca03da5_0    https://repo.anaconda.cloud/repo/main
nbdime                    3.1.1              pyhd8ed1ab_0    conda-forge
nbformat                  5.7.0            py39hca03da5_0    defaults
ncurses                   6.4                  h313beb8_0    defaults
nest-asyncio              1.5.6            py39hca03da5_0    defaults
networkx                  2.8.4            py39hca03da5_1    defaults
nodeenv                   1.7.0            py39hca03da5_0    defaults
nodejs                    16.13.1              h2b10c05_0    https://repo.anaconda.cloud/repo/main
numpy                     1.21.1           py39h1a24bff_2    defaults
oniguruma                 6.9.7.1              h1a28f6b_0    defaults
openssl                   1.1.1t               h1a28f6b_0    defaults
packaging                 23.0             py39hca03da5_0    defaults
pandocfilters             1.5.0              pyhd3eb1b0_0    defaults
parso                     0.8.3              pyhd3eb1b0_0    defaults
pastel                    0.2.1                      py_0    defaults
patch                     2.7.6             h1a28f6b_1001    defaults
pathlib                   1.0.1              pyhd3eb1b0_1    defaults
pcre                      8.45                 hc377ac9_0    defaults
pcre2                     10.37                h37e8eca_1    defaults
pexpect                   4.8.0              pyhd3eb1b0_3    defaults
pickleshare               0.7.5           pyhd3eb1b0_1003    defaults
pip                       23.0.1           py39hca03da5_0    defaults
pkginfo                   1.9.6            py39hca03da5_0    defaults
platformdirs              2.5.2            py39hca03da5_0    defaults
pluggy                    1.0.0            py39hca03da5_1    defaults
poetry                    1.4.0            py39hca03da5_0    defaults
poetry-core               1.5.1            py39hca03da5_0    defaults
poetry-plugin-export      1.3.0            py39h5c051be_0    defaults
poyo                      0.5.0              pyhd3eb1b0_0    defaults
pre-commit                3.0.4            py39h2804cbe_0    conda-forge
progressbar2              4.2.0            py39hca03da5_0    defaults
prometheus_client         0.14.1           py39hca03da5_0    defaults
prompt-toolkit            3.0.36           py39hca03da5_0    defaults
pstree                    2.39                 h3422bc3_0    conda-forge
psutil                    5.9.0            py39h1a28f6b_0    defaults
ptyprocess                0.7.0              pyhd3eb1b0_2    defaults
pure_eval                 0.2.2              pyhd3eb1b0_0    defaults
py-lief                   0.12.3           py39h313beb8_0    defaults
pybind11-abi              4                    hd3eb1b0_0    defaults
pycosat                   0.6.4            py39h1a28f6b_0    defaults
pycparser                 2.21               pyhd3eb1b0_0    defaults
pydantic                  1.10.2           py39h1a28f6b_0    defaults
pygments                  2.11.2             pyhd3eb1b0_0    defaults
pyinstaller               5.6.2            py39h80987f9_0    defaults
pyinstaller-hooks-contrib 2022.14          py39hca03da5_0    defaults
pylev                     1.3.0                      py_0    defaults
pyopenssl                 23.0.0           py39hca03da5_0    defaults
pyproject_hooks           1.0.0            py39hca03da5_0    defaults
pyrsistent                0.18.0           py39h1a28f6b_0    defaults
pysocks                   1.7.1            py39hca03da5_0    defaults
python                    3.9.13          hc596b02_0_cpython    conda-forge
python-build              0.10.0           py39hca03da5_0    defaults
python-dateutil           2.8.2              pyhd3eb1b0_0    defaults
python-dotenv             1.0.0                    pypi_0    pypi
python-fastjsonschema     2.16.2           py39hca03da5_0    defaults
python-installer          0.6.0            py39hca03da5_0    defaults
python-libarchive-c       2.9                pyhd3eb1b0_1    defaults
python-slugify            5.0.2              pyhd3eb1b0_0    defaults
python-utils              3.3.3            py39hca03da5_0    defaults
python.app                3                py39h1a28f6b_0    https://repo.anaconda.cloud/repo/main
python_abi                3.9                      3_cp39    conda-forge
pytz                      2022.7           py39hca03da5_0    defaults
pyyaml                    6.0              py39h80987f9_1    defaults
pyzmq                     23.2.0           py39hc377ac9_0    defaults
rapidfuzz                 2.13.7           py39h78102c4_0    defaults
readline                  8.2                  h1a28f6b_0    defaults
readme_renderer           24.0             py39hca03da5_0    defaults
reproc                    14.2.4               hc377ac9_1    defaults
reproc-cpp                14.2.4               hc377ac9_1    defaults
requests                  2.28.1           py39hca03da5_1    defaults
requests-toolbelt         0.9.1              pyhd3eb1b0_0    defaults
rfc3986                   1.4.0              pyhd3eb1b0_0    defaults
rich                      12.5.1                   pypi_0    pypi
rich-click                1.5.2                    pypi_0    pypi
ruamel.yaml               0.17.21          py39h1a28f6b_0    defaults
ruamel.yaml.clib          0.2.6            py39h1a28f6b_1    defaults
ruamel.yaml.jinja2        0.2.7            py39hca03da5_0    defaults
ruamel_yaml               0.17.21          py39h1a28f6b_0    defaults
send2trash                1.8.0              pyhd3eb1b0_1    defaults
setuptools                66.0.0           py39hca03da5_0    defaults
setuptools-scm            7.0.4            py39hca03da5_0    defaults
shellingham               1.5.0            py39hca03da5_0    defaults
six                       1.16.0             pyhd3eb1b0_1    defaults
smmap                     4.0.0              pyhd3eb1b0_0    defaults
sniffio                   1.2.0            py39hca03da5_1    defaults
soupsieve                 2.4              py39hca03da5_0    defaults
source-to-image           1.3.1                h51ee2dc_1    ctools
sqlite                    3.41.2               h80987f9_0    defaults
stack_data                0.2.0              pyhd3eb1b0_0    defaults
stdlib-list               0.8.0            py39hca03da5_0    defaults
tapi                      1100.0.11            h8754e6a_1    defaults
terminado                 0.17.1           py39hca03da5_0    defaults
testpath                  0.6.0            py39hca03da5_0    defaults
text-unidecode            1.3                pyhd3eb1b0_0    defaults
tig                       2.5.8                h8a0c2ca_0    defusco
tk                        8.6.12               hb8d0fd4_0    defaults
toml                      0.10.2             pyhd3eb1b0_0    defaults
tomli                     2.0.1            py39hca03da5_0    defaults
tomli-w                   1.0.0              pyhd3eb1b0_0    defaults
tomlkit                   0.11.1           py39hca03da5_0    defaults
toolz                     0.12.0           py39hca03da5_0    defaults
tornado                   6.2              py39h1a28f6b_0    defaults
tqdm                      4.65.0           py39h86d0a89_0    defaults
traitlets                 5.7.1            py39hca03da5_0    defaults
tree                      2.0.0                h3422bc3_0    conda-forge
trove-classifiers         2023.3.9         py39hca03da5_0    defaults
twine                     3.7.1              pyhd3eb1b0_0    defaults
typer                     0.4.2                    pypi_0    pypi
typing-extensions         4.5.0            py39hca03da5_0    defaults
typing_extensions         4.5.0            py39hca03da5_0    defaults
tzdata                    2023c                h04d1e81_0    defaults
ukkonen                   1.0.1            py39h525c30c_0    defaults
unidecode                 1.2.0              pyhd3eb1b0_0    defaults
urllib3                   1.26.15          py39hca03da5_0    defaults
userpath                  1.7.0              pyhd8ed1ab_0    conda-forge
versioneer                0.28               pyhd8ed1ab_0    conda-forge
virtualenv                20.17.1          py39hca03da5_0    defaults
wcwidth                   0.2.5              pyhd3eb1b0_0    defaults
webencodings              0.5.1            py39hca03da5_1    defaults
websocket-client          0.58.0           py39hca03da5_4    defaults
wget                      1.21.3               hc6d1d07_0    defaults
wheel                     0.38.4           py39hca03da5_0    defaults
xattr                     0.10.1           py39h80987f9_0    defaults
xz                        5.2.10               h80987f9_1    defaults
yaml                      0.2.5                h1a28f6b_0    defaults
yaml-cpp                  0.7.0                hc377ac9_1    defaults
yarl                      1.8.1            py39h1a28f6b_0    defaults
zeromq                    4.3.4                hc377ac9_0    defaults
zipp                      3.11.0           py39hca03da5_0    defaults
zlib                      1.2.13               h03a7124_4    conda-forge
zstandard                 0.19.0           py39h80987f9_0    defaults
zstd                      1.5.5                hd90d995_0    defaults

Additional Context

This is appears to have happened after the following hotfix was applied on repo.anaconda.com

https://github.com/AnacondaRecipes/repodata-hotfixes/commit/ed413727551463ad461f0ad9a6a78334b6bf3f88#

maresb commented 1 year ago

Closed by #415, thanks @AlbertDeFusco!