ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/
前言
最近用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
问题解决
百度直接按问题搜索了一下解决办法,找到了一篇可行的文章
但该文章中有一些细节没有注意给出,这里强调一下。
主要执行两个命令:
-
查询
otool
otool -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.csdn.net/qq_41024144/article/details/105742035
上一篇: Centos7 安装VNC实现远程桌面
下一篇: HTML5开发:原理与实现