【问题标题】:"Illegal instruction: 4" when trying to start Python with virtualenv in OS X尝试在 OS X 中使用 virtualenv 启动 Python 时出现“非法指令:4”
【发布时间】:2016-02-18 16:32:54
【问题描述】:

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

昨天,激活环境很好,但今天突然在尝试从终端启动 Python 时出现这个神秘的错误:

Illegal instruction: 4

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

Python 在这个 virtualenv 环境之外可以正常工作。通过/usr/local/bin 运行时没有问题。

【问题讨论】:

  • 我不知道答案,但是如果您将可执行文件捆绑在沙盒 OSX 应用程序中并尝试直接从命令行运行可执行文件,则会遇到同样的崩溃......
  • 在这个较新的类似问题中,建议了一个解决方案:stackoverflow.com/q/48710094/5802289

标签: macos python-2.7 virtualenv


【解决方案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 的模块。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 2018-06-28
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 2018-12-09
      • 2018-10-26
      相关资源
      最近更新 更多