我正在尝试从Scipy
升级0.9.0
到0.12.0
. 我使用命令:
sudo pip install --upgrade scipy
我得到了各种各样的错误,这些错误可以在 pip.log 文件中看到,不幸的是,我对 python 的了解不够,无法理解出了什么问题。任何帮助将不胜感激。
我正在尝试从Scipy
升级0.9.0
到0.12.0
. 我使用命令:
sudo pip install --upgrade scipy
我得到了各种各样的错误,这些错误可以在 pip.log 文件中看到,不幸的是,我对 python 的了解不够,无法理解出了什么问题。任何帮助将不胜感激。
错误消息都声明相同:您的系统上缺少 BLAS(基本线性代数子例程),或者 scipy 找不到它。在 ubuntu 中从源代码安装软件包时,正如您有效地尝试使用 pip 一样,确保依赖关系到位的最简单方法之一是使用命令
$ sudo apt-get build-dep python-scipy
这将安装构建包所需的所有包python-scipy
。在某些情况下,您可能会遇到问题,即您尝试安装的源包版本与 ubuntu 包含的版本具有不同的依赖关系,但在您的情况下,我认为上述命令足以获取给你的 BLAS,包括标题。
我从 scipy 0.9 升级到 0.13.3 时遇到了同样的问题,我使用以下答案解决了它并安装:
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install gfortran
我发现Adam Klein关于在虚拟环境中设置 scipy(和朋友)的说明非常有用。
我遇到的一个问题(这可能是我自己的错):说到底,我发现导入 scipy 仍然加载版本 0.9.0,而不是 0.12.0。问题是我sys.path
在新版本之前找到旧系统版本。解决办法是
/path/to/.virtualenvs/arthur/local/lib/python2.7/site-packages
出现在之前
/usr/lib/python2.7/dist-packages
在sys.path
. 如果您安装了virtualenvwrapper,那么您可以使用添加路径
add2virtualenv /path/to/.virtualenvs/arthur/lib/python2.7/site-packages
确保已安装 libatlas-base-dev 和 libatlas-sse2-dev,它似乎找不到您的 atlas 库。另外,请参阅此问题: