在尝试导入python库seaborn时,如何解决导入错误(dlopen)?(M1 mac)



当尝试导入seaborn包时,我收到以下错误。

该软件包已安装在我的环境中。最初使用conda install seaborn安装。在那之后,我按照这里指定的方法https://www.geeksforgeeks.org/how-to-install-seaborn-on-macos/

如果有任何帮助,我们将不胜感激,所有其他套餐都试过了,效果很好。

File "<stdin>", line 1, in <module>
File "/Users/name/folder/folder/folder/seaborn-0.11.2/seaborn/__init__.py", line 2, in <module>
from .rcmod import *  # noqa: F401,F403
File "/Users/name/folder/folder/folder/seaborn-0.11.2/seaborn/rcmod.py", line 7, in <module>
from . import palettes
File "/Users/name/folder/folder/folder/seaborn-0.11.2/seaborn/palettes.py", line 9, in <module>
from .utils import desaturate, get_color_cycle
File "/Users/name/folder/folder/folder/labs/seaborn-0.11.2/seaborn/utils.py", line 10, in <module>
from scipy import stats
File "/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/stats/__init__.py", line 453, in <module>
from ._stats_py import *
File "/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/stats/_stats_py.py", line 38, in <module>
from scipy.spatial.distance import cdist
File "/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/spatial/__init__.py", line 104, in <module>
from ._qhull import *
ImportError: dlopen(/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/spatial/_qhull.cpython-39-darwin.so, 0x0002): Library not loaded: '@rpath/liblapack.3.dylib'
Referenced from: '/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/spatial/_qhull.cpython-39-darwin.so'
Reason: tried: '/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/spatial/../../../../liblapack.3.dylib' (no such file), '/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/lib/python3.9/site-packages/scipy/spatial/../../../../liblapack.3.dylib' (no such file), '/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/bin/../lib/liblapack.3.dylib' (no such file), '/opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data/bin/../lib/liblapack.3.dylib' (no such file), '/usr/local/lib/liblapack.3.dylib' (no such file), '/usr/lib/liblapack.3.dylib' (no such file)

更新

conda list -n TU_working_with_data (seaborn|scipy)

输出:

# packages in environment at /opt/homebrew/Caskroom/miniforge/base/envs/TU_working_with_data:
#
# Name                    Version                   Build  Channel
scipy                     1.8.1            py39h14896cb_2    conda-forge
seaborn                   0.11.2                   pypi_0    pypi 

问题似乎是seaborn是从环境外部加载的,因此具有不同的动态库链接。这篇文章中有关于如何隔离环境的建议,从删除用户级站点到在每个环境的基础上启用隔离。

此外,请确保seaborn实际安装在环境本身中(即,检查conda list -n TU_working_with_data seaborn(。

最新更新