前言
最近用mac新装了pytorch遇到标题的问题,查了一下相关解决方案,成功解决,但有一些需要注意的点,这里做一下记录。
问题产生
此问题大多是在pytorch安装之后,尝试import torch报出的,如下图:

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/torch/_C.cpython-38-darwin.so, 2): Library not loaded: @rpath/libc++.1.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/torch/_C.cpython-38-darwin.so
问题解决
百度直接按问题搜索了一下解决办法,找到了一篇可行的文章
但该文章中有一些细节没有注意给出,这里强调一下。
主要执行两个命令:
-
查询
otoolotool -L /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so这里需要注意一点,这个命令是跟你的python版本相关的,因此后半部分不能直接复制上面的命令内容,需根据自己python版本进行修改。
- 回到报错的代码上,发现类似语句,将其复制
例如我是
python3.8,所以我应该将otool -L后面的代码修改为/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/torch/_C.cpython-38-darwin.so
运行之后会有如下输出:

- 回到报错的代码上,发现类似语句,将其复制
-
安装tool
install_name_tool -change @rpath/libc++.1.dylib /usr/lib/libc++.1.dylib /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/torch/_C.cpython-37m-darwin.so此处也需要注意python版本,将后半部分根据自己情况修改。
上面两条命令执行过后一般就解决了。
参考资料
- https://blog.youkuaiyun.com/qq_41024144/article/details/105742035
本文记录了在Mac上新安装PyTorch后遇到的ImportError: dlopen问题,详细介绍了问题产生的原因及解决步骤,包括执行特定的查询命令和根据Python版本安装相应依赖。
2924

被折叠的 条评论
为什么被折叠?



