将anaconda python3全部安装到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与家庭酿造一起安装并存在。
which gcc
给出
/usr/bin/gcc
在/usr/local/Cellar/gcc/6.1.0/lib/gcc/6我可以找到libgcc_s.1.dylib所以我知道它甚至在/ usr / local / lib中没有符号链接。< / p>
我没有在Cellar的所有库中添加更多的符号链接到/ 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?
答案 0 :(得分:2)
我遇到了同样的问题。我所做的是从我的gcc的cellar文件夹创建符号链接到/ usr / local / lib。
寻找你正确的道路gcc
ln -s /usr/local/Cellar/gcc/X.X.X/lib/gcc/6/* /usr/local/lib