将 anaconda python3 全新安装到运行 Mavericks 的 Mac 的辅助硬盘上。
import sklearn
给出
Library not loaded: /usr/local/lib/libgcc_s.1.dylib
Referenced from: /Volumes/SecondHD/anaconda/lib/python3.5/site-packages/scipy/sparse/linalg/isolve/_iterative.so
Reason: image not found
gcc 与 home-brew 一起安装并存在。
which gcc
给出
/usr/bin/gcc
在/usr/local/Cellar/gcc/6.1.0/lib/gcc/6 中,我可以找到 libgcc_s.1.dylib,所以我知道它在那里,即使它在/usr/local/lib 中没有符号链接(symbolic link)。
我没有将 Cellar 中所有库的更多符号链接(symbolic link)添加到/usr/local/lib ,而是将库的位置添加到搜索路径中。
在我的 ~.profile 中我有
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/lib"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/Cellar/gcc/6.1.0/lib/gcc/6"
但这不起作用。但是,如果我将此行添加到我的 .profile 中,错误就会消失
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/Cellar/gcc/6.1.0/lib/gcc/6
我的理解来自this帖子是 LIBRARY_PATH 是编译器(如 gcc)在链接代码时查找库的位置列表。但在 Mac OSX 中,DYLD_LIBRARY_PATH 和 DYLD_FALLBACK_LIBRARY_PATH 包含任何程序在运行时将搜索共享库的位置列表。
因此,如果 sklearn 想要一个 gcc 库,这意味着将会发生一些编译(和链接)。为什么这一行还不够
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/Cellar/gcc/6.1.0/lib/gcc/6"
为什么需要 DYLD_FALLBACK_LIBRARY_PATH 或 DYLD_LIBRARY_PATH?
最佳答案
我也遇到了同样的问题。我所做的是创建从 gcc 的地窖文件夹到/usr/local/lib 的符号链接(symbolic link)。
寻找你的gcc的正确路径
ln -s/usr/local/Cellar/gcc/X.X.X/lib/gcc/6/*/usr/local/lib
关于python - 使用 anaconda python 3.52 导入 sklearn 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38472244/