Conda returns an Attribute Error symbol not found

2020-03-25 12:17发布

问题:

I was playing around with trying to get biopython working and it seems like I broke conda in the process. At this point, the help menu for conda will display, and conda --version returns conda 4.7.5 but anything else including conda info throws an error AttributeError: dlsym(0x1004381c0, archive_read_open_filename_w): symbol not found

This is on Mac OS 10.14.4. Conda was just working and I last used it to install biopython without error conda install -c conda-forge biopython. Running import Bio still resulted in an a ImportError: No module named Bio. So in troubleshooting I ran pip uninstall biopython (which said it successfully uninstalled biopython-1.73) and pip install biopython which returned:

Requirement already satisfied: biopython in /Users/dmattox/anaconda/lib/python2.7/site-packages (1.73)
Requirement already satisfied: numpy in /Users/dmattox/anaconda/lib/python2.7/site-packages (from biopython) (1.13.1)

I then tried installing with conda again conda install -c conda-forge biopython which returned the same error I showed above from conda info. This AttributeError appears anytime I try and use conda for anything now. I've included the traceback below. Any suggestions?

Traceback (most recent call last):
  File "/Users/dmattox/anaconda/bin/conda", line 13, in <module>
    sys.exit(main())
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/cli/main.py", line 150, in main
    return conda_exception_handler(_main, *args, **kwargs)
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 1335, in conda_exception_handler
    return_value = exception_handler(func, *args, **kwargs)
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 1046, in __call__
    return self.handle_exception(exc_val, exc_tb)
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 1090, in handle_exception
    return self.handle_unexpected_exception(exc_val, exc_tb)
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 1101, in handle_unexpected_exception
    self.print_unexpected_error_report(error_report)
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 1171, in print_unexpected_error_report
    from .cli.main_info import get_env_vars_str, get_main_info_str
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/cli/main_info.py", line 19, in <module>
    from ..core.index import _supplement_index_with_system
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/core/index.py", line 9, in <module>
    from .package_cache_data import PackageCacheData
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda/core/package_cache_data.py", line 15, in <module>
    from conda_package_handling.api import InvalidArchiveError
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/conda_package_handling/api.py", line 3, in <module>
    from libarchive.exception import ArchiveError as _LibarchiveArchiveError
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/libarchive/__init__.py", line 1, in <module>
    from .entry import ArchiveEntry
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/libarchive/entry.py", line 6, in <module>
    from . import ffi
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/libarchive/ffi.py", line 184, in <module>
    c_int, check_int)
  File "/Users/dmattox/anaconda/lib/python2.7/site-packages/libarchive/ffi.py", line 95, in ffi
    f = getattr(libarchive, 'archive_'+name)
  File "/Users/dmattox/anaconda/lib/python2.7/ctypes/__init__.py", line 375, in __getattr__
    func = self.__getitem__(name)
  File "/Users/dmattox/anaconda/lib/python2.7/ctypes/__init__.py", line 380, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(0x100548400, archive_read_open_filename_w): symbol not found

回答1:

got my error fixed by the method from zhihu

Here are the steps how I solve it, Hope it's helpful to you:

The reason caused this error on Mac is Python was installed before, I tried to delete all the python and Anaconda files, and install the anaconda again, then run the conda command successfully.

  1. Delete python from Macintouch->Frameworks->PythonFramework->Versions->3.x
  2. Delete all the records about python and anaconda in .bash_profile(find this hidden file by shift+command+.)
  3. Delete the anaconda navigator in applications
  4. Install the Anaconda again


标签: python pip conda