【问题标题】:Segmentation fault (core dumped) while trying to print numpy and pandas objects in python via cygwin尝试通过 cygwin 在 python 中打印 numpy 和 pandas 对象时出现分段错误(核心转储)
【发布时间】:2021-12-28 19:20:25
【问题描述】:

我只是想在 cygwin 中(以交互方式)运行 python,但是每当我尝试打印出一个 numpy 数组或将 pandas 数据帧写入 csv 文件时,python 打印出来

Segmentation fault (core dumped)

要运行我使用 cygwin set-up.exe 安装的 numpy/pandas:

  • gcc-core         11.2.0-1
  • gcc-fortran      11.2.0-1
  • gcc-g++         11.2.0-1
  • 制作            4.3-1
  • python38
  • python38-cython
  • python38-devel
  • python38-numpy
  • python38-pip
  • python38-setuptools
  • python38-6
  • python38-wheel
  • wget             1.21.2-1

我想强调一下,python 会打印出消息,显然这不是错误消息。 每当我执行以下简单操作时,就会出现问题:

在 cygwin 终端中:

$ python3
>>> import numpy
>>> numpy.random.random(20)
Segmentation fault (core dumped)
$

但是当我这样做(打印数组的第一个元素)时它不会发生:

$ python3
>>> import numpy
>>> numpy.random.random(20)[0]
0.5200677516279423
>>>

当我这样做时(打印另一个 numpy.ndarray 整数):

$ python3
>>> import numpy
>>> numpy.random.ranint(1, 20, 100)
array([13,  2, 10, 14, 11, 13, 16, 16, 13,  7, 14, 13,  1, 19,  8,  6,  3,
        7,  2, 15, 18,  7, 17, 16, 17,  2, 19, 13, 12, 11, 16,  8, 19,  4,
       19,  8, 12, 11, 13, 15,  7, 16, 11, 18, 16, 14, 13, 13, 19,  1, 18,
        3, 16, 12, 19,  3,  5,  6, 19, 15, 11, 18, 12, 12, 18, 16, 16, 11,
        7,  9,  2, 18, 17, 10, 17, 11, 10,  2,  4, 16,  7,  9,  9,  7, 17,
        3, 11,  4, 14, 17,  4,  4,  2,  3, 10,  7,  1,  8,  2, 16])
>>>

不幸的是,无论如何我都不是专家。非常感谢你们的任何帮助或讨论。

谢谢!

更新

我找到了另一个设备,其中 numpy 运行正常,并决定降级我知道的依赖项(如上所列),但它仍然无法正常工作。

  • gcc-core         10.2.0-1
  • gcc-fortran      10.2.0-1
  • gcc-g++         10.2.0-1
  • 制作            4.3-1
  • wget             1.21.2-1

请记住,没有任何版本的 python(3.6、3.8 和 3.9)运行 numpy(同样的错误)。

您知道其他软件包可能导致此问题吗?

如果我将 cygwin 本身降级,你认为它会起作用吗?

【问题讨论】:

  • 我没有看到你的 csv 打印表达式。
  • 这是同一问题的另一个实例,我相信它们是相关的,并且带有 numpy 的那个更容易解释,但是当我有一个 pandas 数据框并且我尝试时会发生这种情况: dataframe.to_csv( “无标题.csv”)
  • 您可以尝试使用python3.8 代替python3 吗?它适用于 python3.9python3.8python3.7python3.6
  • 在 cygwin 终端中,发出以下命令并将结果添加到您的问题中:uname -a ; which -a python ; which -a python3 ; /usr/sbin/alternatives --display python - 确保您实际运行的是 cygwin 版本的 python 而不是 windows 版本。
  • 你重新编译了 numpy 吗?

标签: python arrays pandas numpy cygwin


【解决方案1】:

原来它显然是一个 numpy 错误。我不确定这是否是一个正确的错误或其他问题(比如我的系统不完全兼容),但我使用的是 numpy 1.21.41.21.5降级到 numpy 1.20.3 为我解决了这个问题。

对不起,如果我错误地对问题所在给出了错误的印象。

谢谢大家的回答!

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 2021-12-31
    • 2021-12-20
    相关资源
    最近更新 更多