我最近在我的Mac上安装了一堆dotfiles和其他一些应用程序(我把Terminal换成了iTerm, Sublime作为我的默认文本编辑器),但从那以后,我所有的虚拟环境都停止了工作,尽管它们的文件夹在.virtualenvs中仍然存在,每当我试图在其中运行任何东西时,它们都会给出以下错误:

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /Users/[user]/.virtualenvs/modclass/bin/python
  Reason: image not found
Trace/BPT trap: 5

我已经删除了所有与dotfiles相关的文件,并将.bash_profile恢复到以前的状态,但问题仍然存在。有什么方法可以诊断问题或以一种简单的方式解决它(例如,不需要重新创建所有的virtualenv)?


当前回答

如果这是由于brew升级升级了Python而导致的,并且您可以降级到以前的版本,请尝试brew switch Python[以前的版本],例如brew switch Python 3.6.5。从这里。

其他回答

当我在mac上将python运行时从2指向3时,我遇到了同样的问题,将别名python指向python 3路径。然后,我重新创建一个新的virtualenv并重新安装我的项目所需的那些包。对于我的用例,我有一个python程序写入谷歌表。清理了一些不同于python2实现的包,事情又开始工作了。

如果你破坏了python3,请尝试为我修复它的brew upgrade python3。

使用Python 2.7.10。

一个命令virtualenv path-to-env就可以做到这一点。文档

$ virtualenv path-to-env
Overwriting path-to-env/lib/python2.7/orig-prefix.txt with new content
New python executable in path-to-env/bin/python2.7
Also creating executable in path-to-env/bin/python
Installing setuptools, pip, wheel...done.

我有一个类似的问题,我解决了它只是重建虚拟环境与virtualenv。

我最近遇到了这个问题。以上的方法对我来说都没用。似乎这不是巨蟒的问题。当我运行aws s3 ls时,我得到以下错误:dyld:库未加载:@executable_path/../.Python 这意味着,aws可执行文件指向的库要么不存在,要么已经损坏,因此我从这个链接卸载并重新安装了aws-cli,它工作了!!