conda / conda-libmamba-solver

The libmamba based solver for conda.
https://conda.github.io/conda-libmamba-solver/
Other
188 stars 22 forks source link

Stacktrace Shown rather than standard error message when libmamba gets HTTP 404 #68

Closed remkade closed 1 year ago

remkade commented 1 year ago

Checklist

What happened?

When you try to use a non-existent channel in conda with the default solver you get a helpful HTTP 404 error.

> conda create --dry-run -n intel-test -c main/nonexistent -c main tensorflow
Collecting package metadata (current_repodata.json): failed

UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel intel/validation <https://conda.anaconda.org/intel/validation>

The channel is not accessible or is invalid.

You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.

But when you use libmamba:

> conda create --dry-run -n intel-test -c main/nonexistent -c main --experimental-solver=libmamba tensorflow
Traceback (most recent call last):
  File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 224, in solve_final_state
    index = LibMambaIndexHelper(
  File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 87, in __init__
    self._index = load_channels(
  File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/mamba_utils.py", line 117, in load_channels
    index = get_index(
  File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/mamba_utils.py", line 98, in get_index
    is_downloaded = dlist.download(api.MAMBA_DOWNLOAD_FAILFAST)
RuntimeError: Multi-download failed.

Conda Details

conda info ```Shell active environment : base active env location : /Users/kleaders/anaconda3 shell level : 1 user config file : /Users/kleaders/.condarc populated config files : /Users/kleaders/.condarc conda version : 22.9.0 conda-build version : 3.21.9 python version : 3.8.13.final.0 virtual packages : __osx=10.16=0 __unix=0=0 __archspec=1=x86_64 base environment : /Users/kleaders/anaconda3 (writable) conda av data dir : /Users/kleaders/anaconda3/etc/conda conda av metadata url : None channel URLs : 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/kleaders/anaconda3/pkgs /Users/kleaders/.conda/pkgs envs directories : /Users/kleaders/anaconda3/envs /Users/kleaders/.conda/envs platform : osx-64 user-agent : conda/22.9.0 requests/2.27.1 CPython/3.8.13 Darwin/21.5.0 OSX/10.16 UID:GID : 502:20 netrc file : None offline mode : False ```
conda config ```Shell ==> /Users/kleaders/.condarc <== channels: - defaults ```
conda list ```Shell # # Name Version Build Channel _anaconda_depends 2021.11 py38_0 defaults _ipyw_jlab_nb_ext_conf 0.1.0 py38_0 defaults abs 0.0.0 dev_0 aiofiles 0.7.0 pypi_0 pypi alabaster 0.7.12 pyhd3eb1b0_0 defaults anaconda custom py38_1 defaults anaconda-client 1.9.0 py38hecd8cb5_0 defaults anaconda-navigator 2.1.4 py38hecd8cb5_0 defaults anaconda-project 0.10.2 pyhd3eb1b0_0 defaults anyio 3.5.0 py38hecd8cb5_0 defaults appdirs 1.4.4 pyhd3eb1b0_0 defaults applaunchservices 0.2.1 pyhd3eb1b0_0 defaults appnope 0.1.2 py38hecd8cb5_1001 defaults appscript 1.1.2 py38h9ed2024_0 defaults argh 0.26.2 py38_0 defaults argon2-cffi 21.3.0 pyhd3eb1b0_0 defaults argon2-cffi-bindings 21.2.0 py38hca72f7f_0 defaults arrow 0.13.1 py38_0 defaults arrow-cpp 4.0.1 py38hf7c73f6_3 defaults asn1crypto 1.4.0 py_0 defaults astroid 2.6.6 py38hecd8cb5_0 defaults astropy 5.0.3 py38h67323c0_0 defaults asttokens 2.0.5 pyhd3eb1b0_0 defaults async_generator 1.10 pyhd3eb1b0_0 defaults atomicwrites 1.4.0 py_0 defaults attrs 21.4.0 pyhd3eb1b0_0 defaults autopep8 1.5.5 pypi_0 pypi aws-c-common 0.4.57 hb1e8313_1 defaults aws-c-event-stream 0.1.6 h23ab428_5 defaults aws-checksums 0.1.9 hb1e8313_0 defaults aws-sdk-cpp 1.8.185 he271ece_0 defaults awscli 1.23.6 pypi_0 pypi babel 2.9.1 pyhd3eb1b0_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.shutil_get_terminal_size 1.0.0 pyhd3eb1b0_3 defaults backports.tempfile 1.0 pyhd3eb1b0_1 defaults backports.weakref 1.0.post1 py_1 defaults banal 1.0.6 pypi_0 pypi beautifulsoup4 4.10.0 pyh06a4308_0 defaults binaryornot 0.4.4 pyhd3eb1b0_1 defaults bitarray 2.4.1 py38hca72f7f_0 defaults bkcharts 0.2 py38_0 defaults black 19.10b0 py_0 defaults blas 1.0 mkl defaults bleach 4.1.0 pyhd3eb1b0_0 defaults blosc 1.21.0 h2842e9f_0 defaults bokeh 2.4.2 py38hecd8cb5_0 defaults boolean-py 3.8 pypi_0 pypi boost-cpp 1.73.0 h9ed2024_11 defaults boto 2.49.0 py38_0 defaults botocore 1.25.6 pypi_0 pypi bottleneck 1.3.4 py38h67323c0_0 defaults brotli 1.0.9 hb1e8313_2 defaults brotlipy 0.7.0 py38h9ed2024_1003 defaults brunsli 0.1 h23ab428_0 defaults bzip2 1.0.8 h1de35cc_0 defaults c-ares 1.18.1 hca72f7f_0 defaults ca-certificates 2022.07.19 hecd8cb5_0 defaults cachecontrol 0.12.6 pypi_0 pypi cachy 0.3.0 pypi_0 pypi cairo 1.16.0 h8023c5d_1 defaults certifi 2022.9.14 py38hecd8cb5_0 defaults cffi 1.15.0 py38hc55c11b_1 defaults cfitsio 3.470 hee0f690_6 defaults cftime 1.5.1.1 py38h67323c0_0 defaults chardet 4.0.0 py38hecd8cb5_1003 defaults charls 2.2.0 h23ab428_0 defaults charset-normalizer 2.0.4 pyhd3eb1b0_0 defaults cleo 0.8.1 pypi_0 pypi click 8.0.4 py38hecd8cb5_0 defaults clikit 0.6.2 pypi_0 pypi cloudpickle 2.0.0 pyhd3eb1b0_0 defaults clyent 1.2.2 py38_1 defaults colorama 0.4.4 pyhd3eb1b0_0 defaults commoncode 30.0.0 pypi_0 pypi conda 22.9.0 py38hecd8cb5_0 defaults conda-build 3.21.9 py38hecd8cb5_0 defaults conda-content-trust 0.1.1 pyhd3eb1b0_0 defaults conda-env 2.6.0 1 defaults conda-libmamba-solver 22.3.1 pyhd3eb1b0_0 defaults conda-pack 0.6.0 pyhd3eb1b0_0 defaults conda-package-handling 1.8.1 py38hca72f7f_0 defaults conda-repo-cli 1.0.4 pyhd3eb1b0_0 defaults conda-token 0.3.0 pyhd3eb1b0_0 defaults conda-verify 3.4.2 py_1 defaults contextlib2 0.6.0.post1 pyhd3eb1b0_0 defaults cookiecutter 1.7.3 pyhd3eb1b0_0 defaults crashtest 0.3.1 pypi_0 pypi croniter 0.3.36 pyhd8ed1ab_0 conda-forge cryptography 3.4.8 py38h2fd3fbb_0 defaults curl 7.80.0 hca72f7f_0 defaults cvetool 0.0.1.post549+faaa956 dev_0 cycler 0.11.0 pyhd3eb1b0_0 defaults cython 0.29.28 py38he9d5cce_0 defaults cytoolz 0.11.0 py38haf1e3a3_0 defaults daal4py 2021.5.0 py38h24a4e90_0 defaults dal 2021.5.0 hecd8cb5_782 defaults dask 2022.2.1 pyhd3eb1b0_0 defaults dask-core 2022.2.1 pyhd3eb1b0_0 defaults dataclasses 0.8 pyh6d0b6a4_7 defaults datadog 0.42.0 pypi_0 pypi dbus 1.13.18 h18a8e69_0 defaults debian-inspector 30.0.0 pypi_0 pypi debugpy 1.5.1 py38he9d5cce_0 defaults decorator 5.1.1 pyhd3eb1b0_0 defaults defusedxml 0.7.1 pyhd3eb1b0_0 defaults diff-match-patch 20200713 pyhd3eb1b0_0 defaults distlib 0.3.2 pypi_0 pypi distributed 2022.2.1 pyhd3eb1b0_0 defaults docker-py 4.4.1 py38hecd8cb5_5 defaults docker-pycreds 0.4.0 pyhd3eb1b0_0 defaults docutils 0.15.2 pypi_0 pypi double-conversion 3.1.5 haf313ee_1 defaults dparse 0.5.1 pypi_0 pypi entrypoints 0.3 py38_0 defaults et_xmlfile 1.1.0 py38hecd8cb5_0 defaults executing 0.8.3 pyhd3eb1b0_0 defaults expat 2.4.4 he9d5cce_0 defaults extractcode 30.0.0 pypi_0 pypi extractcode-7z 16.5.210531 pypi_0 pypi extractcode-libarchive 3.5.1.210531 pypi_0 pypi fastcache 1.1.0 py38h1de35cc_0 defaults fasteners 0.17.2 pypi_0 pypi feedparser 6.0.8 pypi_0 pypi filelock 3.6.0 pyhd3eb1b0_0 defaults filemagic 1.6 pypi_0 pypi fingerprints 1.0.3 pypi_0 pypi flake8 3.8.4 pypi_0 pypi flask 1.1.2 pyhd3eb1b0_0 defaults fontconfig 2.13.1 ha9ee91d_0 defaults fonttools 4.25.0 pyhd3eb1b0_0 defaults freetype 2.11.0 hd8bbffd_0 defaults fsspec 2022.2.0 pyhd3eb1b0_0 defaults ftfy 6.0.3 pypi_0 pypi future 0.18.2 py38_1 defaults gemfileparser 0.8.0 pypi_0 pypi get_terminal_size 1.0.0 h7520d66_0 defaults gettext 0.21.0 h7535e17_0 defaults gevent 21.8.0 py38h9ed2024_1 defaults gflags 2.2.2 h0a44026_0 defaults giflib 5.2.1 haf1e3a3_0 defaults glib 2.69.1 h8346a28_1 defaults glob2 0.7 pyhd3eb1b0_0 defaults glog 0.5.0 h23ab428_0 defaults gmp 6.2.1 h23ab428_2 defaults gmpy2 2.1.2 py38hd5de756_0 defaults greenlet 1.1.1 py38h23ab428_0 defaults grpc-cpp 1.26.0 h044775b_0 defaults gssapi 1.7.2 pypi_0 pypi h5py 2.10.0 py38h3134771_0 defaults hdf4 4.2.13 h39711bb_2 defaults hdf5 1.10.4 hfa1e0ec_0 defaults heapdict 1.0.1 pyhd3eb1b0_0 defaults html5lib 1.1 pyhd3eb1b0_0 defaults icu 58.2 h0a44026_3 defaults idna 3.3 pyhd3eb1b0_0 defaults imagecodecs 2021.8.26 py38ha952a84_0 defaults imageio 2.9.0 pyhd3eb1b0_0 defaults imagesize 1.3.0 pyhd3eb1b0_0 defaults importlib-metadata 4.11.3 py38hecd8cb5_0 defaults importlib_metadata 4.11.3 hd3eb1b0_0 defaults importlib_resources 5.2.0 pyhd3eb1b0_1 defaults inflection 0.5.1 py38hecd8cb5_0 defaults iniconfig 1.1.1 pyhd3eb1b0_0 defaults intbitset 2.4.1 pypi_0 pypi intel-openmp 2021.4.0 hecd8cb5_3538 defaults intervaltree 3.1.0 pyhd3eb1b0_0 defaults ipykernel 6.9.1 py38hecd8cb5_0 defaults ipython 8.2.0 py38hecd8cb5_0 defaults ipython_genutils 0.2.0 pyhd3eb1b0_1 defaults ipywidgets 7.6.5 pyhd3eb1b0_1 defaults isodate 0.6.0 pypi_0 pypi isort 5.9.3 pyhd3eb1b0_0 defaults itsdangerous 2.0.1 pyhd3eb1b0_0 defaults jaraco-functools 3.5.0 pypi_0 pypi javaproperties 0.8.1 pypi_0 pypi jbig 2.1 h4d881f8_0 defaults jdcal 1.4.1 pyhd3eb1b0_0 defaults jedi 0.18.1 py38hecd8cb5_1 defaults jinja2 2.11.3 pyhd3eb1b0_0 defaults jinja2-time 0.2.0 pyhd3eb1b0_2 defaults jira 3.1.1 pypi_0 pypi jmespath 1.0.0 pypi_0 pypi joblib 1.1.0 pyhd3eb1b0_0 defaults jpeg 9d h9ed2024_0 defaults json-log-formatter 0.4.0 pypi_0 pypi json5 0.9.6 pyhd3eb1b0_0 defaults jsonschema 3.2.0 pyhd3eb1b0_2 defaults jsonstreams 0.6.0 pypi_0 pypi jupyter 1.0.0 py38_7 defaults jupyter_client 6.1.12 pyhd3eb1b0_0 defaults jupyter_console 6.4.0 pyhd3eb1b0_0 defaults jupyter_core 4.9.2 py38hecd8cb5_0 defaults jupyter_server 1.13.5 pyhd3eb1b0_0 defaults jupyterlab 3.3.2 pyhd3eb1b0_0 defaults jupyterlab_pygments 0.1.2 py_0 defaults jupyterlab_server 2.10.3 pyhd3eb1b0_1 defaults jupyterlab_widgets 1.0.0 pyhd3eb1b0_1 defaults jxrlib 1.1 haf1e3a3_2 defaults keyring 21.8.0 pypi_0 pypi kiwisolver 1.3.2 py38he9d5cce_0 defaults krb5 0.2.0 pypi_0 pypi lazy-object-proxy 1.6.0 py38h9ed2024_0 defaults lcms2 2.12 hf1fd2bf_0 defaults lerc 3.0 he9d5cce_0 defaults libaec 1.0.4 hb1e8313_1 defaults libarchive 3.4.2 haa3ed63_0 defaults libboost 1.73.0 hd4c2dcd_11 defaults libcurl 7.80.0 h6dfd666_0 defaults libcxx 12.0.0 h2f01273_0 defaults libdeflate 1.8 h9ed2024_5 defaults libedit 3.1.20210910 hca72f7f_0 defaults libev 4.33 h9ed2024_1 defaults libevent 2.1.12 h0a4fc7d_0 defaults libffi 3.3 hb1e8313_2 defaults libgfortran 3.0.1 h93005f0_2 defaults libiconv 1.16 h1de35cc_0 defaults liblief 0.11.5 he9d5cce_1 defaults libllvm11 11.1.0 h46f1229_1 defaults libmamba 0.22.1 hf1b0957_0 defaults libmambapy 0.22.1 py38haf03e11_0 defaults libnetcdf 4.7.3 he3b6227_0 defaults libnghttp2 1.46.0 ha29bfda_0 defaults libpng 1.6.37 ha441bb4_0 defaults libprotobuf 3.11.2 hd9629dc_0 defaults libsodium 1.0.18 h1de35cc_0 defaults libsolv 0.7.20 h8346a28_0 defaults libspatialindex 1.9.3 h23ab428_0 defaults libssh2 1.9.0 ha12b0ac_1 defaults libthrift 0.13.0 h054ceb0_6 defaults libtiff 4.2.0 h87d7836_0 defaults libuv 1.40.0 haf1e3a3_0 defaults libwebp 1.2.2 h56c3ce4_0 defaults libwebp-base 1.2.2 hca72f7f_0 defaults libxml2 2.9.12 hcdb78fc_0 defaults libxslt 1.1.34 h83b36ba_0 defaults libzopfli 1.0.3 hb1e8313_0 defaults license-expression 21.6.14 pypi_0 pypi llvm-openmp 12.0.0 h0dcd299_1 defaults llvmlite 0.38.0 py38h8346a28_0 defaults locket 0.2.1 py38hecd8cb5_2 defaults lockfile 0.12.2 pypi_0 pypi lxml 4.8.0 py38h65b224f_0 defaults lz4-c 1.9.3 h23ab428_1 defaults lzo 2.10 haf1e3a3_2 defaults markupsafe 2.0.1 py38h9ed2024_0 defaults marshmallow 3.12.2 pyhd3eb1b0_0 defaults marshmallow-oneofschema 3.0.1 pyhd8ed1ab_0 conda-forge matplotlib 3.5.1 py38hecd8cb5_1 defaults matplotlib-base 3.5.1 py38hfb0c5b7_1 defaults matplotlib-inline 0.1.2 pyhd3eb1b0_2 defaults mccabe 0.6.1 py38_1 defaults mistune 0.8.4 py38h1de35cc_1001 defaults mkl 2021.4.0 hecd8cb5_637 defaults mkl-service 2.4.0 py38h9ed2024_0 defaults mkl_fft 1.3.1 py38h4ab4a9b_0 defaults mkl_random 1.2.2 py38hb2f4e1b_0 defaults mock 4.0.3 pyhd3eb1b0_0 defaults more-itertools 8.12.0 pyhd3eb1b0_0 defaults mpc 1.1.0 h6ef4df4_1 defaults mpfr 4.0.2 h9066e36_1 defaults mpi 1.0 mpich defaults mpich 3.3.2 hc856adb_0 defaults mpmath 1.2.1 py38hecd8cb5_0 defaults msgpack-python 1.0.2 py38hf7b0b51_1 defaults multipledispatch 0.6.0 py38_0 defaults munkres 1.1.4 py_0 defaults mypy_extensions 0.4.3 py38hecd8cb5_1 defaults natsort 7.1.1 pyhd3eb1b0_0 defaults navigator-updater 0.2.1 py38_1 defaults nbclassic 0.3.5 pyhd3eb1b0_0 defaults nbclient 0.5.11 pyhd3eb1b0_0 defaults nbconvert 6.3.0 py38hecd8cb5_0 defaults nbformat 5.1.3 pyhd3eb1b0_0 defaults ncurses 6.3 hca72f7f_2 defaults neovim 0.3.1 pypi_0 pypi nest-asyncio 1.5.1 pyhd3eb1b0_0 defaults netcdf4 1.5.3 py38h28545a2_0 defaults networkx 2.7.1 pyhd3eb1b0_0 defaults nltk 3.7 pyhd3eb1b0_0 defaults normality 2.2.5 pypi_0 pypi nose 1.3.7 pyhd3eb1b0_1008 defaults notebook 6.4.8 py38hecd8cb5_0 defaults numba 0.55.1 py38hae1ba45_0 defaults numexpr 2.8.1 py38h2e5f0a9_0 defaults numpy 1.21.2 py38h4b4dc7a_0 defaults numpy-base 1.21.2 py38he0bd621_0 defaults numpydoc 1.2 pyhd3eb1b0_0 defaults oauthlib 3.1.1 pypi_0 pypi olefile 0.46 pyhd3eb1b0_0 defaults openjpeg 2.4.0 h66ea3da_0 defaults openpyxl 3.0.9 pyhd3eb1b0_0 defaults openssl 1.1.1q hca72f7f_0 defaults orc 1.6.7 h001ef8f_2 defaults package-reports 0.1.0 pypi_0 pypi packageurl-python 0.9.6 pypi_0 pypi packaging 21.3 pyhd3eb1b0_0 defaults pandas 1.4.1 py38he9d5cce_1 defaults pandocfilters 1.5.0 pyhd3eb1b0_0 defaults parameter-expansion-patched 0.2.1b4 pypi_0 pypi parso 0.8.3 pyhd3eb1b0_0 defaults partd 1.2.0 pyhd3eb1b0_1 defaults pastel 0.2.1 pypi_0 pypi patch 1.16 pypi_0 pypi path 16.2.0 pyhd3eb1b0_0 defaults path.py 12.5.0 hd3eb1b0_0 defaults pathlib2 2.3.6 py38hecd8cb5_2 defaults pathspec 0.7.0 py_0 defaults patsy 0.5.2 py38hecd8cb5_1 defaults pcre 8.45 h23ab428_0 defaults pdfminer-six 20211012 pypi_0 pypi pefile 2021.9.3 pypi_0 pypi pendulum 2.1.2 pyhd3eb1b0_1 defaults pep8 1.7.1 py38_0 defaults pexpect 4.8.0 pyhd3eb1b0_3 defaults pickleshare 0.7.5 pyhd3eb1b0_1003 defaults pillow 9.0.1 py38hde71d04_0 defaults pip 21.2.4 py38hecd8cb5_0 defaults pixman 0.40.0 h9ed2024_1 defaults pkginfo 1.8.2 pyhd3eb1b0_0 defaults pluggy 0.13.1 pypi_0 pypi plugincode 21.1.21 pypi_0 pypi ply 3.11 py38_0 defaults poetry 1.1.7 pypi_0 pypi poetry-core 1.0.3 pypi_0 pypi poyo 0.5.0 pyhd3eb1b0_0 defaults prefect 0.15.12 pyhd8ed1ab_0 conda-forge prometheus_client 0.13.1 pyhd3eb1b0_0 defaults prompt-toolkit 3.0.20 pyhd3eb1b0_0 defaults prompt_toolkit 3.0.20 hd3eb1b0_0 defaults psutil 5.8.0 py38h9ed2024_1 defaults ptyprocess 0.7.0 pyhd3eb1b0_2 defaults publicsuffix2 2.20191221 pypi_0 pypi pure_eval 0.2.2 pyhd3eb1b0_0 defaults py 1.11.0 pyhd3eb1b0_0 defaults py-lief 0.11.5 py38he9d5cce_1 defaults pyahocorasick 1.4.2 pypi_0 pypi pyarrow 4.0.1 py38hdf3e9eb_3 defaults pyasn1 0.4.8 pypi_0 pypi pycairo 1.19.1 py38h06c6e95_0 defaults pycodestyle 2.7.0 pyhd3eb1b0_0 defaults pycosat 0.6.3 py38h1de35cc_1 defaults pycparser 2.21 pyhd3eb1b0_0 defaults pycurl 7.44.1 py38hbcfaee0_1 defaults pydocstyle 6.1.1 pyhd3eb1b0_0 defaults pyerfa 2.0.0 py38h9ed2024_0 defaults pyflakes 2.3.1 pyhd3eb1b0_0 defaults pygmars 0.7.0 pypi_0 pypi pygments 2.11.2 pyhd3eb1b0_0 defaults pyjwt 2.3.0 pypi_0 pypi pylev 1.4.0 pypi_0 pypi pylint 2.9.6 py38hecd8cb5_1 defaults pyls-spyder 0.4.0 pyhd3eb1b0_0 defaults pymaven-patch 0.3.0 pypi_0 pypi pynvim 0.4.3 pypi_0 pypi pyodbc 4.0.32 py38he9d5cce_1 defaults pyopenssl 21.0.0 pyhd3eb1b0_1 defaults pyparsing 3.0.4 pyhd3eb1b0_0 defaults pyqt 5.9.2 py38h655552a_2 defaults pyrsistent 0.18.0 py38hca72f7f_0 defaults pysocks 1.7.1 py38_1 defaults pyspnego 0.3.1 pypi_0 pypi pytables 3.6.1 py38h4727e94_0 defaults pytest 7.1.1 py38hecd8cb5_0 defaults python 3.8.13 hdfd78df_0 defaults python-box 5.4.1 pyhd8ed1ab_0 conda-forge python-dateutil 2.8.2 pyhd3eb1b0_0 defaults python-libarchive-c 2.9 pyhd3eb1b0_1 defaults python-lsp-black 1.0.0 pyhd3eb1b0_0 defaults python-lsp-jsonrpc 1.0.0 pyhd3eb1b0_0 defaults python-lsp-server 1.2.4 pyhd3eb1b0_0 defaults python-slugify 5.0.2 pyhd3eb1b0_0 defaults python.app 3 py38hca72f7f_0 defaults pytz 2021.3 pyhd3eb1b0_0 defaults pytzdata 2020.1 pyhd3eb1b0_0 defaults pywavelets 1.3.0 py38hca72f7f_0 defaults pyyaml 5.4.1 pypi_0 pypi pyzmq 22.3.0 py38he9d5cce_2 defaults qdarkstyle 3.0.2 pyhd3eb1b0_0 defaults qstylizer 0.1.10 pyhd3eb1b0_0 defaults qt 5.9.7 h468cd18_1 defaults qtawesome 1.0.3 pyhd3eb1b0_0 defaults qtconsole 5.3.0 pyhd3eb1b0_0 defaults qtpy 2.0.1 pyhd3eb1b0_0 defaults rdflib 6.0.2 pypi_0 pypi re2 2022.04.01 he9d5cce_0 defaults readline 8.1.2 hca72f7f_1 defaults regex 2022.3.15 py38hca72f7f_0 defaults repometrics 0.1.0 dev_0 reproc 14.2.4 he9d5cce_1 defaults reproc-cpp 14.2.4 he9d5cce_1 defaults requests 2.27.1 pyhd3eb1b0_0 defaults requests-jwt 0.6.0 pypi_0 pypi requests-kerberos 0.14.0 pypi_0 pypi requests-oauthlib 1.3.0 pypi_0 pypi requests-toolbelt 0.9.1 pypi_0 pypi ripgrep 12.1.1 0 defaults rope 0.22.0 pyhd3eb1b0_0 defaults rsa 4.7.2 pypi_0 pypi rtree 0.9.7 py38hecd8cb5_1 defaults ruamel.yaml 0.16.12 py38haf1e3a3_1 defaults ruamel.yaml.clib 0.2.6 py38hca72f7f_0 defaults ruamel_yaml 0.15.100 py38h9ed2024_0 defaults s3transfer 0.5.2 pypi_0 pypi saneyaml 0.5.2 pypi_0 pypi scancode-toolkit 30.1.0 pypi_0 pypi scikit-image 0.19.2 py38hae1ba45_0 defaults scikit-learn 1.0.2 py38hae1ba45_1 defaults scikit-learn-intelex 2021.5.0 py38hecd8cb5_0 defaults scipy 1.7.3 py38h8c7af03_0 defaults seaborn 0.11.2 pyhd3eb1b0_0 defaults send2trash 1.8.0 pyhd3eb1b0_1 defaults setuptools 58.0.4 py38hecd8cb5_0 defaults sgmllib3k 1.0.0 pypi_0 pypi shellingham 1.4.0 pypi_0 pypi simplegeneric 0.8.1 py38_2 defaults singledispatch 3.7.0 pyhd3eb1b0_1001 defaults sip 4.19.8 py38h0a44026_0 defaults six 1.16.0 pyhd3eb1b0_1 defaults snappy 1.1.8 hb1e8313_0 defaults sniffio 1.2.0 py38hecd8cb5_1 defaults snowballstemmer 2.2.0 pyhd3eb1b0_0 defaults sortedcollections 2.1.0 pyhd3eb1b0_0 defaults sortedcontainers 2.4.0 pyhd3eb1b0_0 defaults soupsieve 2.3.1 pyhd3eb1b0_0 defaults spdlog-fmt-embed 1.9.2 haf03e11_0 defaults spdx-tools 0.7.0a3 dev_0 sphinx 4.4.0 pyhd3eb1b0_0 defaults sphinxcontrib 1.0 py38_1 defaults sphinxcontrib-applehelp 1.0.2 pyhd3eb1b0_0 defaults sphinxcontrib-devhelp 1.0.2 pyhd3eb1b0_0 defaults sphinxcontrib-htmlhelp 2.0.0 pyhd3eb1b0_0 defaults sphinxcontrib-jsmath 1.0.1 pyhd3eb1b0_0 defaults sphinxcontrib-qthelp 1.0.3 pyhd3eb1b0_0 defaults sphinxcontrib-serializinghtml 1.1.5 pyhd3eb1b0_0 defaults sphinxcontrib-websupport 1.2.4 py_0 defaults spyder 5.1.5 py38hecd8cb5_1 defaults spyder-kernels 2.1.3 py38hecd8cb5_0 defaults sqlalchemy 1.4.32 py38hca72f7f_0 defaults sqlite 3.38.2 h707629a_0 defaults stack_data 0.2.0 pyhd3eb1b0_0 defaults statsmodels 0.13.2 py38hca72f7f_0 defaults sympy 1.10.1 py38hecd8cb5_0 defaults tabulate 0.8.9 py38hecd8cb5_0 defaults tbb 2021.5.0 haf03e11_0 defaults tbb4py 2021.5.0 py38haf03e11_0 defaults tblib 1.7.0 pyhd3eb1b0_0 defaults terminado 0.13.1 py38hecd8cb5_0 defaults testpath 0.5.0 pyhd3eb1b0_0 defaults text-unidecode 1.3 pyhd3eb1b0_0 defaults textdistance 4.2.1 pyhd3eb1b0_0 defaults threadpoolctl 2.2.0 pyh0d69192_0 defaults three-merge 0.1.1 pyhd3eb1b0_0 defaults tifffile 2021.7.2 pyhd3eb1b0_2 defaults tinycss 0.4 pyhd3eb1b0_1002 defaults tk 8.6.11 h7bc2e8c_0 defaults toml 0.10.2 pyhd3eb1b0_0 defaults tomli 1.2.2 pyhd3eb1b0_0 defaults tomlkit 0.7.2 pypi_0 pypi toolz 0.11.2 pyhd3eb1b0_0 defaults tornado 6.1 py38h9ed2024_0 defaults tqdm 4.63.0 pyhd3eb1b0_0 defaults traitlets 5.1.1 pyhd3eb1b0_0 defaults typecode 21.6.1 pypi_0 pypi typecode-libmagic 5.39.210531 pypi_0 pypi typed-ast 1.4.3 py38h9ed2024_1 defaults typing-extensions 4.1.1 hd3eb1b0_0 defaults typing_extensions 4.1.1 pyh06a4308_0 defaults ujson 5.1.0 py38he9d5cce_0 defaults unicodecsv 0.14.1 py38_0 defaults unidecode 1.2.0 pyhd3eb1b0_0 defaults unixodbc 2.3.9 haf1e3a3_0 defaults uriparser 0.9.3 h0a44026_1 defaults urllib3 1.26.8 pyhd3eb1b0_0 defaults urlpy 0.5 pypi_0 pypi utf8proc 2.6.1 h9ed2024_0 defaults virtualenv 20.4.7 pypi_0 pypi watchdog 2.1.6 py38h999c104_0 defaults wcwidth 0.2.5 pyhd3eb1b0_0 defaults webencodings 0.5.1 py38_1 defaults websocket-client 0.58.0 py38hecd8cb5_4 defaults werkzeug 2.0.3 pyhd3eb1b0_0 defaults wheel 0.37.1 pyhd3eb1b0_0 defaults whichcraft 0.6.1 pyhd3eb1b0_0 defaults widgetsnbextension 3.5.2 py38hecd8cb5_0 defaults wrapt 1.12.1 py38haf1e3a3_1 defaults wurlitzer 3.0.2 py38hecd8cb5_0 defaults xlrd 2.0.1 pyhd3eb1b0_0 defaults xlsxwriter 3.0.3 pyhd3eb1b0_0 defaults xlwings 0.24.9 py38hecd8cb5_0 defaults xlwt 1.3.0 py38_0 defaults xz 5.2.5 h1de35cc_0 defaults yamale 3.0.8 pypi_0 pypi yaml 0.2.5 haf1e3a3_0 defaults yaml-cpp 0.7.0 he9d5cce_1 defaults yamllint 1.26.2 pypi_0 pypi yapf 0.31.0 pyhd3eb1b0_0 defaults zeromq 4.3.4 h23ab428_0 defaults zfp 0.5.5 he9d5cce_6 defaults zict 2.0.0 pyhd3eb1b0_0 defaults zipp 3.7.0 pyhd3eb1b0_0 defaults zlib 1.2.11 h4dc903c_4 defaults zope 1.0 py38_1 defaults zope.event 4.5.0 py38_0 defaults zope.interface 5.4.0 py38h9ed2024_0 defaults zstd 1.4.9 h322a384_0 defaults ```
Error Report ``` Traceback (most recent call last): File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 224, in solve_final_state index = LibMambaIndexHelper( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 87, in __init__ self._index = load_channels( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/mamba_utils.py", line 117, in load_channels index = get_index( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/mamba_utils.py", line 98, in get_index is_downloaded = dlist.download(api.MAMBA_DOWNLOAD_FAILFAST) RuntimeError: Multi-download failed. # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<< Traceback (most recent call last): File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 224, in solve_final_state index = LibMambaIndexHelper( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 87, in __init__ self._index = load_channels( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/mamba_utils.py", line 117, in load_channels index = get_index( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/mamba_utils.py", line 98, in get_index is_downloaded = dlist.download(api.MAMBA_DOWNLOAD_FAILFAST) RuntimeError: Multi-download failed. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1129, in __call__ return func(*args, **kwargs) File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/cli/main.py", line 86, in main_subshell exit_code = do_call(args, p) File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 93, in do_call return getattr(module, func_name)(args, parser) File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/notices/core.py", line 72, in wrapper return_value = func(*args, **kwargs) File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/cli/main_create.py", line 43, in execute install(args, parser, 'create') File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/cli/install.py", line 261, in install unlink_link_transaction = solver.solve_for_transaction( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/core/solve.py", line 156, in solve_for_transaction unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier, File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda/core/solve.py", line 199, in solve_for_diff final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned, File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/solver.py", line 224, in solve_final_state index = LibMambaIndexHelper( File "/Users/kleaders/anaconda3/lib/python3.8/site-packages/conda_libmamba_solver/utils.py", line 86, in __exit__ raise exc_type(exc_value) RuntimeError: Multi-download failed. `$ /Users/kleaders/anaconda3/bin/conda create --dry-run -n intel-test -c main/nonexistent -c main --experimental-solver=libmamba tensorflow` environment variables: CIO_TEST= CONDA_DEFAULT_ENV=base CONDA_PREFIX=/Users/kleaders/anaconda3 CONDA_PROMPT_MODIFIER=(base) CONDA_PYTHON_EXE=/Users/kleaders/anaconda3/bin/python CONDA_ROOT=/Users/kleaders/anaconda3 CONDA_SHLVL=1 CURL_CA_BUNDLE= PATH=/Users/kleaders/anaconda3/condabin:/Users/kleaders/.rbenv/shims:/Users /kleaders/.cargo/bin:/usr/local/sbin:/Users/kleaders/.cargo/bin:/Users /kleaders/.local/bin:/Users/kleaders/anaconda3/bin:/usr/local/bin:/usr /bin:/bin:/usr/sbin:/sbin REQUESTS_CA_BUNDLE= SSL_CERT_FILE= active environment : base active env location : /Users/kleaders/anaconda3 shell level : 1 user config file : /Users/kleaders/.condarc populated config files : /Users/kleaders/.condarc conda version : 22.9.0 conda-build version : 3.21.9 python version : 3.8.13.final.0 virtual packages : __osx=10.16=0 __unix=0=0 __archspec=1=x86_64 base environment : /Users/kleaders/anaconda3 (writable) conda av data dir : /Users/kleaders/anaconda3/etc/conda conda av metadata url : None channel URLs : https://conda.anaconda.org/main/nonexistent/osx-64 https://conda.anaconda.org/main/nonexistent/noarch https://conda.anaconda.org/main/osx-64 https://conda.anaconda.org/main/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/kleaders/anaconda3/pkgs /Users/kleaders/.conda/pkgs envs directories : /Users/kleaders/anaconda3/envs /Users/kleaders/.conda/envs platform : osx-64 user-agent : conda/22.9.0 requests/2.27.1 CPython/3.8.13 Darwin/21.5.0 OSX/10.16 solver/libmamba UID:GID : 502:20 netrc file : None offline mode : False An unexpected error has occurred. Conda has prepared the above report. ```
dholth commented 1 year ago

We could move all downloads back into Python, now that it is multithreaded.

jezdez commented 1 year ago

@jaimergp Have we fixed this in the recent commits in conda-libmamba-solver?

jaimergp commented 1 year ago

Nop, this is part of the vendored mamba_utils module, which tries to stays as close as possible to upstream. We can patch it and send it to mamba though.

jaimergp commented 1 year ago

That said, we could try @dholth's suggestion. We are already doing it for S3/FTP channels. Maybe with an option at first?

dholth commented 1 year ago

We will need to move the repodata.json downloads back into Python for incremental repodata. The merged parallel package downloads feature should already provide great package download speed.

jaimergp commented 1 year ago

Ok, I can start working on this but I'd like to see the plugin work finished first so there's no more rebase issues.

jezdez commented 1 year ago

This will probably fixed by #65

jezdez commented 1 year ago

(I've moved this issue from the conda repo here)

AlbertDeFusco commented 1 year ago

Could my problem be related or should I open another ticket?

I get a JSON serialization error when libmamba fails with with the --json filag.

I'm fairly certain that I was not having this problem 2 - 3 months ago on earlier versions of conda and libmamba.

❯ CONDA_SOLVER=libmamba conda create -n t -c conda-forge conda-token --json --override-channels
Traceback (most recent call last):
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1124, in __call__
    return func(*args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/cli/main.py", line 69, in main_subshell
    exit_code = do_call(args, p)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/cli/conda_argparse.py", line 91, in do_call
    return getattr(module, func_name)(args, parser)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/notices/core.py", line 109, in wrapper
    return func(*args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/cli/main_create.py", line 41, in execute
    install(args, parser, 'create')
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/cli/install.py", line 280, in install
    raise e
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/cli/install.py", line 264, in install
    unlink_link_transaction = solver.solve_for_transaction(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/core/solve.py", line 132, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/core/solve.py", line 175, in solve_for_diff
    final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_libmamba_solver/solver.py", line 188, in solve_final_state
    out_state = self._solving_loop(in_state, out_state, index)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_libmamba_solver/solver.py", line 251, in _solving_loop
    solved = self._solve_attempt(in_state, out_state, index)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_libmamba_solver/solver.py", line 325, in _solve_attempt
    new_conflicts = self._problems_to_specs(problems, old_conflicts)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_libmamba_solver/solver.py", line 571, in _problems_to_specs
    self._raise_for_problems(problems)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda_libmamba_solver/solver.py", line 597, in _raise_for_problems
    raise exc
conda.exceptions.PackagesNotFoundError: The following packages are not available from current channels:

  - conda-token

Current channels:

  - https://conda.anaconda.org/conda-forge

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/adefusco/Applications/miniconda3/bin/conda", line 13, in <module>
    sys.exit(main())
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/cli/main.py", line 112, in main
    return conda_exception_handler(main, *args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1424, in conda_exception_handler
    return_value = exception_handler(func, *args, **kwargs)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1127, in __call__
    return self.handle_exception(exc_val, exc_tb)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1156, in handle_exception
    return self.handle_application_exception(exc_val, exc_tb)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1170, in handle_application_exception
    self._print_conda_exception(exc_val, exc_tb)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1174, in _print_conda_exception
    print_conda_exception(exc_val, exc_tb)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/exceptions.py", line 1097, in print_conda_exception
    exc_json = json.dumps(exc_val.dump_map(), indent=2, sort_keys=True, cls=EntityEncoder)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/json/__init__.py", line 234, in dumps
    return cls(
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/json/encoder.py", line 201, in encode
    chunks = list(chunks)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/json/encoder.py", line 438, in _iterencode
    o = _default(o)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/auxlib/entity.py", line 962, in default
    return JSONEncoder.default(self, obj)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/site-packages/conda/__init__.py", line 145, in _default
    return getattr(obj.__class__, "to_json", _default.default)(obj)
  File "/Users/adefusco/Applications/miniconda3/lib/python3.9/json/encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type IndexedSet is not JSON serializable

With the classic solver I get clean json

❯ CONDA_SOLVER=classic conda create -n t -c conda-forge conda-token --json --override-channels
{
  "caused_by": "None",
  "channel_urls": [
    "https://conda.anaconda.org/conda-forge/osx-arm64",
    "https://conda.anaconda.org/conda-forge/noarch"
  ],
  "channels_formatted": "  - https://conda.anaconda.org/conda-forge/osx-arm64\n  - https://conda.anaconda.org/conda-forge/noarch",
  "error": "PackagesNotFoundError: The following packages are not available from current channels:\n\n  - conda-token\n\nCurrent channels:\n\n  - https://conda.anaconda.org/conda-forge/osx-arm64\n  - https://conda.anaconda.org/conda-forge/noarch\n\nTo search for alternate channels that may provide the conda package you're\nlooking for, navigate to\n\n    https://anaconda.org\n\nand use the search bar at the top of the page.\n",
  "exception_name": "PackagesNotFoundError",
  "exception_type": "<class 'conda.exceptions.PackagesNotFoundError'>",
  "message": "The following packages are not available from current channels:\n\n  - conda-token\n\nCurrent channels:\n\n  - https://conda.anaconda.org/conda-forge/osx-arm64\n  - https://conda.anaconda.org/conda-forge/noarch\n\nTo search for alternate channels that may provide the conda package you're\nlooking for, navigate to\n\n    https://anaconda.org\n\nand use the search bar at the top of the page.\n",
  "packages": [
    "conda-token"
  ],
  "packages_formatted": "  - conda-token"
}
jaimergp commented 1 year ago

Different problem, but thanks for the report! See #140 @AlbertDeFusco