我正在尝试链接 NumPy 和 SciPy(在 Python 3 下,在 Fedora 20 下),只使用 RPM 包(所以,没有 pip,手动构建等)。
我尝试了各种东西,但是
import numpy as np
import scipy
scipy.__config__.show()
np.__config__.show()
总是给我通常的“我正在使用 ATLAS”信息。
我试过玩alternatives
,如建议的here,here和其他几个资源,但alternatives --list | grep blas
总是空的。我尝试添加一个libblas.so.3
替代方案,链接到libopenblas.so
,但上述测试的行为没有改变。
我还试图找出 SciPy/NumPy 加载这些库的位置和方式,但找不到。
我没有_dotblas.so
(在与此相关的各种说明中经常提到);但是,我确实有_dotblas.cpython-33m.so
、cblas.cpython-33m.so
和fblas.cpython-33m.so
,但它们都没有链接到libblas.so.3
(如上一个链接中所建议的那样)。
删除 ATLAS 不是一种选择,因为它会拖拽更多的包(例如 Gimp)。
我还在虚拟机中安装了新的 Fedora 20。yum 的 NumPy/SciPy 坚持使用 ATLAS。当我删除它们并从 pip 安装时,它们使用 OpenBLAS 没有问题(但后来我无法轻松切换 ATLAS)。我想要两者,通过简单的切换,所以我可以执行各种测试来比较这两者的性能,并且(重新)在 yum 和 pip 之间安装显然不是一个解决方案。
我想避免重建和手动安装,以便将来更新更容易,因为我需要在几台不同的机器上进行此操作。在我看来,这样做并不是一件奇怪的事情,告诉这些模块加载一个或另一个库,而无需在我想要进行更改时进行重大重新安装。