1

我正在尝试链接 NumPy 和 SciPy(在 Python 3 下,在 Fedora 20 下),只使用 RPM 包(所以,没有 pip,手动构建等)。

我尝试了各种东西,但是

import numpy as np
import scipy

scipy.__config__.show()
np.__config__.show()

总是给我通常的“我正在使用 ATLAS”信息。

我试过玩alternatives,如建议的herehere和其他几个资源,但alternatives --list | grep blas总是空的。我尝试添加一个libblas.so.3替代方案,链接到libopenblas.so,但上述测试的行为没有改变。

我还试图找出 SciPy/NumPy 加载这些库的位置和方式,但找不到。

我没有_dotblas.so(在与此相关的各种说明中经常提到);但是,我确实有_dotblas.cpython-33m.socblas.cpython-33m.sofblas.cpython-33m.so,但它们都没有链接到libblas.so.3(如上一个链接中所建议的那样)。

删除 ATLAS 不是一种选择,因为它会拖拽更多的包(例如 Gimp)。

我还在虚拟机中安装了新的 Fedora 20。yum 的 NumPy/SciPy 坚持使用 ATLAS。当我删除它们并从 pip 安装时,它们使用 OpenBLAS 没有问题(但后来我无法轻松切换 ATLAS)。我想要两者,通过简单的切换,所以我可以执行各种测试来比较这两者的性能,并且(重新)在 yum 和 pip 之间安装显然不是一个解决方案。

我想避免重建和手动安装,以便将来更新更容易,因为我需要在几台不同的机器上进行此操作。在我看来,这样做并不是一件奇怪的事情,告诉这些模块加载一个或另一个库,而无需在我想要进行更改时进行重大重新安装。

4

0 回答 0