我最近在Mac上安装了许多点文件以及其他一些应用程序(我改为使用iTerm代替Terminal,将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时,会为安装了Homebrew的Python创建许多符号链接。
这是一个例子:
$ ls -la ~/.virtualenvs/my-virtual-env
...
lrwxr-xr-x 1 ryan staff 78 Jun 25 13:21 .Python -> /usr/local/Cellar/python/2.7.7/Frameworks/Python.framework/Versions/2.7/Python
...
当您使用Homebrew升级Python然后运行时brew cleanup
,virtualenv中的符号链接指向不再存在的路径(因为Homebrew删除了它们)。
符号链接需要指向新安装的Python:
lrwxr-xr-x 1 ryan staff 78 Jun 25 13:21 .Python -> /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/Python
解决方案是删除virtualenv中的符号链接,然后重新创建它们:
find ~/.virtualenvs/my-virtual-env/ -type l -delete
virtualenv ~/.virtualenvs/my-virtual-env
最好在删除链接之前先检查哪些链接将被删除:
find ~/.virtualenvs/my-virtual-env/ -type l
我认为,最好只删除损坏的符号链接。您可以使用GNU来做到这一点find
:
gfind ~/.virtualenvs/my-virtual-env/ -type l -xtype l -delete
find
如果尚未安装GNU,请使用Homebrew进行安装:
brew install findutils
请注意,默认情况下,随Homebrew一起安装的GNU程序通常以字母开头g
。这是为了避免遮盖find
OS X附带的二进制文件。
问题内容: 如何使eclipse重建项目或工作区中包含的类的数据库?这就是它使“参考”菜单操作起作用的目的,以及它用于“添加导入”对话框的作用等。基本上,这是Eclipse核心用途的一部分。现在,它只为我的项目的5%工作。 我已经多次遇到这个问题:eclipse发生了一些事情,要么是由于OutOfMemoryError,因为我打开了一个大文件,要么是因为工作区只有几个月的辛苦使用。 现在,我在Wi
问题内容: 我有不同的(由制成),并且我希望能够指定要在每个项目中使用哪个。 由于我正在使用插件进行自定义构建,因此如何指定用于构建项目的python安装? 例如,当我在项目AI上工作时,想要使用venvA的python运行脚本,而当我在BI项目上工作时,想要使用venvB运行东西(使用其他构建脚本)。 问题答案: 希望这是您所想象的路线。我试图简化解决方案,并删除一些您可能不需要的东西。 这种方
Modules 参考了以下开源模块: adm-zip clean-css colors fs-extra glob howdo open uglify-js ydr-utils seajs fis webpack posthtml Articles 感谢以下文章: FED社区:coolie 介绍专辑 FED社区:跟我学 coolie 专辑 知乎:大公司里怎样开发和部署前端代码? InfoQ:前端工
http://openstack.redhat.com/Networking_in_too_much_detail http://web.archive.org/web/20150215214007/http://masimum.inf.um.es/fjrm/2013/12/26/the-journey-of-a-packet-within-an-openstack-cloud http://pa
ECMAScript 6 入门。 ESlint是一个javascript代码审查框架。 Testem A test runner that makes Javascript unit testing fun. 创建一个testem的测试目录,然后安装testem: $ cd /opt && mkdir testem && cd /opt/testem $ npm install testem -g
Hyperledger Composer参考资料包含许多主题,包括npm模块的参考信息、CLI命令、建模语言、API、连接配置文件和常用术语表。 Historian(历史记录) Hyperledger Composer Historian提供了一个库,其中包含历史交易的信息 Hyperledger Composer npm模块 Hyperledger Composer包含许多npm模块,提供使用H