【发布时间】: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.9、python3.8、python3.7和python3.6 -
在 cygwin 终端中,发出以下命令并将结果添加到您的问题中:
uname -a ; which -a python ; which -a python3 ; /usr/sbin/alternatives --display python- 确保您实际运行的是 cygwin 版本的 python 而不是 windows 版本。 -
你重新编译了 numpy 吗?
标签: python arrays pandas numpy cygwin