c - 为什么我的 scipy 构建失败了?

标签 c gcc scipy

我是科学计算的新手,想为 scipy 做贡献,但我无法构建它。

git clone 了源然后运行了 python setup.py build。我休息一下说:

scipy/special/cephes/bdtr.c: In function ‘cephes_bdtrc’: scipy/special/cephes/bdtr.c:157:5: error: non-floating-point argument in call to function ‘__builtin_isnan’ if (npy_isnan(k) || npy_isnan(n) || npy_isnan(p)) {

Ubuntu 16.04,英特尔 i7。对于其他工作,我安装了 Anaconda 1.6.3。 Python 2.7.13 和 gfortran。

我遵循了设置 herehere .

有什么想法吗?也许是 gcc 开关?

最佳答案

这似乎是这个特定的 scipy/numpy 组合中的一个错误。 nk 是整数变量,因此它们不能是 NaN,在 commit ede5590b12dbeecd244fdafa4443b6c3a9d9ef40 (BUG: special: fix ufunc results for nan arguments) 中介绍.

您可以在本地将报告的行更改为

    if (npy_isnan(p)) {

直到问题在上游得到解决。

关于c - 为什么我的 scipy 构建失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46943869/

相关文章:

python-3.x - 导入 scipy.optimize 时出现问题。 (Windows10 64b, Python 3.7)

python - Scipy 中的高性能计算,具有独立应用于大量输入的数值函数

c - OpenGL:根据 C 语言改编的红皮书示例进行不稳定渲染

c++ - Bison 错误

c - 用户定义函数

gcc - 为什么objdump的汇编编码不同?

c++ - 为什么 Clang std::ostream 会写入 std::istream 无法读取的 double 值?

c - 枚举类型的表示和对齐要求

c++ - lambda 始终返回 '1'

python - 计算每个元素相对于其列的百分位数分数