尝试使用OS X中的virtualenv启动Python时出现“非法指令:4”

时间:2015-11-17 10:31:42

标签: macos python-2.7 virtualenv

我在virtualenv环境中使用Python 2.7.10已经有几个月了。

昨天,激活环境很顺利,但是今天突然间我在尝试从终端启动Python时遇到了这个神秘的错误:

Illegal instruction: 4

我没有对我的环境(AFAIK)进行任何更改,因此我很难设法解决此错误是什么以及导致错误的原因。

Python在此virtualenv环境之外正常工作。通过/usr/local/bin运行时,它没有任何问题。

2 个答案:

答案 0 :(得分:1)

我现在已经多次遇到这个问题了。虽然我不能确定实际问题是什么,但我认为它基本上意味着Python的virtualenv部分中的某些文件已经损坏。

我将我的虚拟环境保存在同步的Dropbox文件夹中,因此可能是该问题的主要原因。

从备份存档还原虚拟环境对我有用。或者只是重新安装相同的虚拟环境。

  • 首先,尝试按cd <path/to/old_env>source /bin/activate激活有缺陷的环境。
  • 如果已成功激活,cd到驱动器上的可访问位置并运行pip freeze > requirements.txt以导出当前安装的Python模块列表。
  • 删除旧环境。
  • 通过virtualenv <path/new_env>
  • 安装计算机上最新版本的Python 2的新虚拟环境
  • 或者,如果您想使用特定的Python版本,请首先确保您已将其放在驱动器上,然后执行virtualenv -p <path>。假设您已经使用Homebrew下载了Python版本,例如:virtualenv -p /usr/local/bin/python2.6 <path/new_env>
  • 通过cd <path/new_env>激活虚拟环境,然后执行source /bin/activate
  • 假设您保留了要重新安装的模块列表,之前执行pip freeze > requirements.txtcd到文本文件所在的文件夹并执行pip install -r requirements.txt
  • 否则,请手动重新安装pip模块。

答案 1 :(得分:1)

我有同样的问题,通过卸载psycopg2并安装旧版本找到解决方案。据我所知,我的comp不支持新版本中的某些命令