在昨晚使用brew updata之后,重新打开之前的venv后,使用python的时候就会报如下错误
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /yourvirtualvenv_path/bin/python
Reason: image not found
查看了一下,发现自己的python在昨晚升级到了新的版本,由原来的3.7.3 到了3.7.5,因此在/use/local/cellar(brew的默认安装文件夹)下的python内的,python的文件夹的名字变了。
所以真正的原因就是,由于homebrew 更新时,不仅安装了新的版本的python,还将旧版本的文件夹删除了,这导致之前创建的虚环境的python引用路径失效。
解决方法:
首先,找出虚环境内的所有链接
find $your_venv_path/ -type l
此步骤将所有链接显示,确认过都是失效链接之后,执行删除指令
find $your_venve_path/ -type l -delete
然后重新构建你的虚环境:
virtualenv . -p $python_path
方案引用于
https://stackoverflow.com/questions/23233252/broken-references-in-virtualenvs