【问题标题】:Segmentation fault Python [closed]分段错误Python [关闭]
【发布时间】:2012-04-06 10:46:51
【问题描述】:

我已经安装了 Enthought Python 发行版。 在此之前,我安装了 Python2.7 并安装了其他模块(例如 opencv)。 Enthought 将自己确立为默认的 python。 叫7.2,其实是2.7。 现在,如果我想在 Enthought Python 中导入 cv,它总是会给我分段错误错误。 无论如何要在 Enthought Python 中导入 cv 吗? 那将是真棒。 同样将任何新模块安装到 Enthought 中,似乎也有同样的错误。 任何解决方案都会很棒。

谢谢!

【问题讨论】:

  • 这包含的信息太少,无法回答。
  • 你在windows上,对吧?如果是,请添加 windows 标签。
  • 如果您通过自制软件安装了 opencv,您可能已经针对系统的常规 python 版本而不是 Enthought python 版本编译了 opencv。当 ipython 尝试加载 opencv.so 文件但失败时,这会给你一个分段错误。 (这就是发生在我身上的事情。) Homebrew 的 buildscript 使用 python-config 来确定 python 的安装位置,但 Enthought 没有附带 python-config。我不得不通过硬编码正确的路径和 python_version 来修改自制程序构建脚本。

标签: python segmentation-fault enthought


【解决方案1】:

Python 仅 SEGFAULTs if

  • 加载的原生扩展 DLL 代码出错

  • 虚拟机有错误(它没有)

在 -vvv 模式下运行 Python 以查看有关导入问题的更多信息。

您可能需要针对您正在使用的 Python 构建重新编译所需的模块。 Python 主要版本和架构(32 位与 64 位)本机扩展在版本之间不兼容。

您还可以使用 gdb 提取所需的 C 堆栈跟踪,以提供崩溃的确切位置和原因。

只有你应该做什么的提示;因为该问题仅针对您的配置,不可重复人们只能为您提供如何进一步解决问题的信息。因为这里给出的解决问题的方法很可能过于高级,所以我只建议重新安装所有内容。

【讨论】:

  • 酷。非常感谢您提供的信息!
猜你喜欢
  • 1970-01-01
  • 2017-03-12
  • 2014-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-30
  • 2013-06-08
  • 1970-01-01
相关资源
最近更新 更多