MetroStar / conda-vendor

Conda package for artifact creation that enables offline environments. Ideal for air-gapped deployments.
MIT License
14 stars 8 forks source link

Upstream conda-lock changes are non-compatible with the IronBank workflow's update_ib_files.py #33

Closed rigzba21 closed 1 month ago

rigzba21 commented 2 years ago

When running the IronBank update_ib_files.py the following error shows up:

Traceback (most recent call last):
  File "/usr/local/Caskroom/mambaforge/base/envs/update_ib_env/bin/conda-vendor", line 6, in <module>
    from conda_vendor.__main__ import cli
  File "/usr/local/Caskroom/mambaforge/base/envs/update_ib_env/lib/python3.9/site-packages/conda_vendor/__main__.py", line 4, in <module>
    from conda_vendor.cli import (
  File "/usr/local/Caskroom/mambaforge/base/envs/update_ib_env/lib/python3.9/site-packages/conda_vendor/cli.py", line 3, in <module>
    from conda_vendor.conda_channel import CondaChannel
  File "/usr/local/Caskroom/mambaforge/base/envs/update_ib_env/lib/python3.9/site-packages/conda_vendor/conda_channel.py", line 11, in <module>
    from conda_lock.conda_lock import solve_specs_for_arch
ImportError: cannot import name 'solve_specs_for_arch' from 'conda_lock.conda_lock' (/usr/local/Caskroom/mambaforge/base/envs/update_ib_env/lib/python3.9/site-packages/conda_lock/conda_lock.py)

Looks like this is due to some changes in upstream conda-lock's src_parser module that introduce dependencies as a List(VersionedDependencies) which breaks the current version of conda-vendor

WIP PR: https://github.com/MetroStar/conda-vendor/pull/32

rigzba21 commented 2 years ago

micromamba 0.22.0 uses the new libmamba solver by default, which doesn't appear to be compatible with conda-vendor's solved channel: see: https://repo1.dso.mil/dsop/opensource/metrostar/miniconda/-/jobs/11068627

STEP 102/108: RUN ./bin/micromamba create -y -p  /opt/conda     conda==4.12.0     conda-pack     conda-build     conda-lock==0.13.2     micromamba     conda-vendor==0.1.14      -c ${LOCAL_CONDA_CHANNEL} &&     rm -rf .bin/ &&     rm -rf .info/ &&     rm -rf "micromamba-0.22.0-0.tar.bz2"
                                           __
          __  ______ ___  ____ _____ ___  / /_  ____ _
         / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
        / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
       / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
      /_/
Encountered problems while solving:
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
The environment can't be solved, aborting the operation
error    libmamba Could not solve for environment specs
rigzba21 commented 2 years ago

Working to resolve this in https://github.com/MetroStar/conda-vendor/issues/34

jbouder commented 1 month ago

Closing stale issue.