MacOS Monterey执行import scipy.integrate提示libgfortran.5.dylib缺失
问题原因
这个ImportError是因为当前安装的scipy依赖gcc 10提供的libgfortran.5.dylib库,升级MacOS Monterey后原有的gcc 10被删除/覆盖,系统在指定路径下找不到对应的库文件。
解决方案
按优先度从高到低排序:
- 方案1:安装对应版本的gcc
如果你使用Homebrew,直接执行命令安装gcc 10:
安装完成后如果依旧报错,手动创建软链接到系统检索路径:brew install gcc@10ln -s /usr/local/opt/gcc@10/lib/gcc/10/libgfortran.5.dylib /usr/local/lib/libgfortran.5.dylib - 方案2:重新编译安装scipy
如果你已经安装了更高版本的gcc,直接重装scipy适配当前环境即可:
重装时scipy会自动调用当前系统的gcc版本编译,适配现有库路径。pip uninstall -y scipy pip install scipy --no-cache-dir - 方案3:临时配置库路径(不推荐长期使用)
执行命令临时将现有gcc的库路径加入环境变量,即可正常导入:
该方案仅对当前终端会话生效,长期使用需要将上述命令写入# 把命令中的<version>替换为你当前安装的gcc大版本号,比如11、12 export DYLD_LIBRARY_PATH="/usr/local/opt/gcc/lib/gcc/<version>:$DYLD_LIBRARY_PATH"~/.zshrc或~/.bash_profile,但可能引发其他库的路径冲突。
验证
完成操作后打开Python执行import scipy.integrate,无报错即为修复完成。
内容的提问来源于stack exchange,提问作者DavideL
相关产品推荐
相关产品推荐

