导入Openslide报错找不到OpenSlide dylib的解决求助
故障原因
该报错出现在Apple Silicon系列Mac设备上,Homebrew默认将OpenSlide的动态库存放在/opt/homebrew/lib路径下,而openslide-python默认检索的系统库路径未包含该目录,因此无法找到对应的dylib文件。
解决方案
临时测试方案(单次运行生效)
在Python代码最开头添加如下代码,手动加载动态库后再导入openslide:
import ctypes # 手动加载brew安装的OpenSlide动态库 ctypes.CDLL("/opt/homebrew/lib/libopenslide.dylib") import openslide
运行代码如果没有报错,说明路径配置问题属实,可继续配置永久生效方案。
永久生效方案
方案1:添加动态库检索环境变量
如果你使用Mac默认的zsh终端,执行如下命令:
echo 'export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"' >> ~/.zshrc source ~/.zshrc
如果使用bash终端,将上述命令中的.zshrc替换为.bash_profile即可。配置完成后重启终端和Jupyter Notebook,即可正常导入。
方案2:创建软链接(适用于Anaconda环境)
直接将brew安装的OpenSlide动态库软链接到Anaconda的库目录下,执行如下命令(注意将myname替换为你的实际用户名):
ln -s /opt/homebrew/lib/libopenslide.dylib /Users/myname/opt/anaconda3/lib/libopenslide.dylib
执行完成后无需重启,直接测试导入即可。
验证方法
在终端执行如下命令,如果正常输出版本号说明修复成功:
python -c "import openslide; print(openslide.__version__)"
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

