OSX系统下Conda环境gfortran链接失败问题求助
解决OSX Conda环境中Numpy libgfortran.3.dylib缺失问题
我之前在OSX上折腾Python2.7的Conda环境时,也碰到过完全一样的报错,试了各种方法才搞定,给你几个亲测有效的方案:
优先用Conda安装对应版本的libgfortran
系统自带的gcc或者手动装的gcc往往和Conda环境的依赖不兼容,直接用Conda安装适配的库才是正道。执行这条命令:conda install -c conda-forge libgfortran=3一定要指定版本为3,因为报错里明确找的是
libgfortran.3.dylib,conda-forge源里的这个包会自动适配你的Conda环境路径。检查并修复依赖的rpath路径
如果上面的方法没用,可能是numpy的动态库没有正确指向Conda环境的lib目录。先查看当前依赖路径:otool -L /Users/me/anaconda/lib/python2.7/site-packages/numpy/core/multiarray.so要是看到
@rpath/libgfortran.3.dylib对应的路径不对,就用install_name_tool添加正确的rpath:install_name_tool -add_rpath /Users/me/anaconda/lib /Users/me/anaconda/lib/python2.7/site-packages/numpy/core/multiarray.so注意把路径替换成你自己的Conda环境lib目录(如果是虚拟环境,路径应该是
/Users/me/anaconda/envs/你的环境名/lib)。重新安装适配版本的Numpy
有些时候是Numpy版本和libgfortran不兼容导致的,Python2.7的Numpy最后稳定兼容版本是1.16.x,试试卸载后重装这个版本:conda uninstall numpy -y conda install numpy=1.16.6终极方案:重建Conda环境
如果前面的方法都救不了,大概率是环境里的依赖已经乱套了,直接重建一个干净的环境最省心:conda create -n py27_env python=2.7 numpy -y conda activate py27_env然后在这个新环境里运行你的代码,应该就能正常工作了。
内容的提问来源于stack exchange,提问作者bhomass
相关产品推荐
相关产品推荐

