Skip to content

Conda should not crash on plugin load "ImportError" #12455

@dholth

Description

@dholth

Checklist

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

What happened?

I have the conda-libmamba-solver plugin installed but something went wrong with my conda environment. Apparently libarchive 19 is installed instead of 13? Could this have something to do with conda no longer requiring libarchive by itself?

Since conda doesn't load in this state, the remedy is to go into the site-packages directory and manually delete the conda_libmamb_solver* directories associated with the plugin.

Instead, conda should warn when a plugin produces an ImportError, then proceed without the plugin.

% CONDA_DEBUG=1 conda search -c dholth conda
Traceback (most recent call last):
  File "/Users/dholth/miniconda3/lib/python3.10/site-packages/conda/plugins/manager.py", line 61, in load_setuptools_entrypoints
    return super().load_setuptools_entrypoints(*args, **kwargs)
  File "/Users/dholth/miniconda3/lib/python3.10/site-packages/pluggy/_manager.py", line 287, in load_setuptools_entrypoints
    plugin = ep.load()

...

  File "/Users/dholth/miniconda3/lib/python3.10/site-packages/conda_libmamba_solver/__init__.py", line 7, in <module>
    from .solver import LibMambaSolver
  File "/Users/dholth/miniconda3/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 19, in <module>
    import libmambapy as api
  File "/Users/dholth/miniconda3/lib/python3.10/site-packages/libmambapy/__init__.py", line 7, in <module>
    raise e
  File "/Users/dholth/miniconda3/lib/python3.10/site-packages/libmambapy/__init__.py", line 4, in <module>
    from libmambapy.bindings import *  # noqa: F401,F403
ImportError: dlopen(/Users/dholth/miniconda3/lib/python3.10/site-packages/libmambapy/bindings.cpython-310-darwin.so, 0x0002): Library not loaded: '@rpath/libarchive.13.dylib'
  Referenced from: '/Users/dholth/miniconda3/lib/libmamba.2.0.0.dylib'
  Reason: tried: '/Users/dholth/miniconda3/lib/libarchive.13.dylib' (no such file), '/Users/dholth/miniconda3/lib/python3.10/site-packages/libmambapy/../../../libarchive.13.dylib' (no such file), '/Users/dholth/miniconda3/lib/python3.10/site-packages/libmambapy/../../../libarchive.13.dylib' (no such file), '/Users/dholth/miniconda3/bin/../lib/libarchive.13.dylib' (no such file), '/Users/dholth/miniconda3/bin/../lib/libarchive.13.dylib' (no such file), '/usr/local/lib/libarchive.13.dylib' (no such file), '/usr/lib/libarchive.13.dylib' (no such file)

Metadata

Metadata

Assignees

No one assigned

    Labels

    locked[bot] locked due to inactivitypluginspertains to a plugin/subcommandsource::anacondacreated by members of Anaconda, Inc.type::bugdescribes erroneous operation, use severity::* to classify the type

    Type

    No type

    Projects

    Status

    🏁 Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions