问题描述
我目前正在按照教程Installing the SciPy Stack在Ubuntu 12.04(Precise Pangolin)上安装SciPy(我不能使用apt-get install
,因为我需要最新版本)。
但是,执行以下命令时会出现错误:
python setup.py build
sudo python setup.py install --prefix=/usr/local # Installs to /usr/local
python setup.py build
michael@michael-laptop-ubuntu:~/Downloads/scipy-0.11.0rc1$ python setup.py buildRunning from scipy source directory.
blas_opt_info:
blas_mkl_info:
libraries mkl,vml,guide not found in /usr/local/lib
libraries mkl,vml,guide not found in /usr/lib
libraries mkl,vml,guide not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/lib/sse2
libraries ptf77blas,ptcblas,atlas not found in /usr/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/lib/i386-linux-gnu/sse2
libraries ptf77blas,ptcblas,atlas not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in /usr/local/lib
libraries f77blas,cblas,atlas not found in /usr/lib/sse2
libraries f77blas,cblas,atlas not found in /usr/lib
libraries f77blas,cblas,atlas not found in /usr/lib/i386-linux-gnu/sse2
libraries f77blas,cblas,atlas not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1423: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
blas_info:
libraries blas not found in /usr/local/lib
libraries blas not found in /usr/lib
libraries blas not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1432: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
warnings.warn(BlasNotFoundError.__doc__)
blas_src_info:
NOT AVAILABLE
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1435: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
warnings.warn(BlasSrcNotFoundError.__doc__)
Traceback (most recent call last):
File "setup.py", line 208, in <module>
setup_package()
File "setup.py", line 199, in setup_package
configuration=configuration )
File "/usr/lib/python2.7/dist-packages/numpy/distutils/core.py", line 152, in setup
config = configuration()
File "setup.py", line 136, in configuration
config.add_subpackage('scipy')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/setup.py", line 8, in configuration
config.add_subpackage('integrate')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/integrate/setup.py", line 10, in configuration
blas_opt = get_info('blas_opt',notfound_action=2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 320, in get_info
return cl().get_info(notfound_action)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 471, in get_info
raise self.notfounderror(self.notfounderror.__doc__)
numpy.distutils.system_info.BlasNotFoundError:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
from apport.report import Report
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 18, in <module>
import problem_report
File "/usr/lib/python2.7/dist-packages/problem_report.py", line 14, in <module>
import zlib, base64, time, sys, gzip, struct, os
File "/usr/lib/python2.7/gzip.py", line 10, in <module>
import io
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/__init__.py", line 83, in <module>
from matlab import loadmat, savemat, byteordercodes
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/matlab/__init__.py", line 11, in <module>
from mio import loadmat, savemat
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/matlab/mio.py", line 15, in <module>
from mio4 import MatFile4Reader, MatFile4Writer
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/matlab/mio4.py", line 9, in <module>
import scipy.sparse
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/__init__.py", line 180, in <module>
from csr import *
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/csr.py", line 12, in <module>
from sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/sparsetools/__init__.py", line 4, in <module>
from csr import *
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/sparsetools/csr.py", line 25, in <module>
_csr = swig_import_helper()
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/sparsetools/csr.py", line 17, in swig_import_helper
import _csr
ImportError: No module named _csr
Original exception was:
Traceback (most recent call last):
File "setup.py", line 208, in <module>
setup_package()
File "setup.py", line 199, in setup_package
configuration=configuration )
File "/usr/lib/python2.7/dist-packages/numpy/distutils/core.py", line 152, in setup
config = configuration()
File "setup.py", line 136, in configuration
config.add_subpackage('scipy')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/setup.py", line 8, in configuration
config.add_subpackage('integrate')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/integrate/setup.py", line 10, in configuration
blas_opt = get_info('blas_opt',notfound_action=2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 320, in get_info
return cl().get_info(notfound_action)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 471, in get_info
raise self.notfounderror(self.notfounderror.__doc__)
numpy.distutils.system_info.BlasNotFoundError:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
sudo python setup.py install –prefix = /usr /local#安装到/usr /local
michael@michael-laptop-ubuntu:~/Downloads/scipy-0.11.0rc1$ sudo python setup.py install --prefix=/usr/local
[sudo] password for michael:
Running from scipy source directory.
blas_opt_info:
blas_mkl_info:
libraries mkl,vml,guide not found in /usr/local/lib
libraries mkl,vml,guide not found in /usr/lib
libraries mkl,vml,guide not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/lib/sse2
libraries ptf77blas,ptcblas,atlas not found in /usr/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/lib/i386-linux-gnu/sse2
libraries ptf77blas,ptcblas,atlas not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in /usr/local/lib
libraries f77blas,cblas,atlas not found in /usr/lib/sse2
libraries f77blas,cblas,atlas not found in /usr/lib
libraries f77blas,cblas,atlas not found in /usr/lib/i386-linux-gnu/sse2
libraries f77blas,cblas,atlas not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1423: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
warnings.warn(AtlasNotFoundError.__doc__)
blas_info:
libraries blas not found in /usr/local/lib
libraries blas not found in /usr/lib
libraries blas not found in /usr/lib/i386-linux-gnu
NOT AVAILABLE
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1432: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
warnings.warn(BlasNotFoundError.__doc__)
blas_src_info:
NOT AVAILABLE
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1435: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
warnings.warn(BlasSrcNotFoundError.__doc__)
Traceback (most recent call last):
File "setup.py", line 208, in <module>
setup_package()
File "setup.py", line 199, in setup_package
configuration=configuration )
File "/usr/lib/python2.7/dist-packages/numpy/distutils/core.py", line 152, in setup
config = configuration()
File "setup.py", line 136, in configuration
config.add_subpackage('scipy')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/setup.py", line 8, in configuration
config.add_subpackage('integrate')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/integrate/setup.py", line 10, in configuration
blas_opt = get_info('blas_opt',notfound_action=2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 320, in get_info
return cl().get_info(notfound_action)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 471, in get_info
raise self.notfounderror(self.notfounderror.__doc__)
numpy.distutils.system_info.BlasNotFoundError:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
from apport.report import Report
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 18, in <module>
import problem_report
File "/usr/lib/python2.7/dist-packages/problem_report.py", line 14, in <module>
import zlib, base64, time, sys, gzip, struct, os
File "/usr/lib/python2.7/gzip.py", line 10, in <module>
import io
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/__init__.py", line 83, in <module>
from matlab import loadmat, savemat, byteordercodes
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/matlab/__init__.py", line 11, in <module>
from mio import loadmat, savemat
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/matlab/mio.py", line 15, in <module>
from mio4 import MatFile4Reader, MatFile4Writer
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/io/matlab/mio4.py", line 9, in <module>
import scipy.sparse
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/__init__.py", line 180, in <module>
from csr import *
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/csr.py", line 12, in <module>
from sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/sparsetools/__init__.py", line 4, in <module>
from csr import *
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/sparsetools/csr.py", line 25, in <module>
_csr = swig_import_helper()
File "/home/michael/Downloads/scipy-0.11.0rc1/scipy/sparse/sparsetools/csr.py", line 17, in swig_import_helper
import _csr
ImportError: No module named _csr
Original exception was:
Traceback (most recent call last):
File "setup.py", line 208, in <module>
setup_package()
File "setup.py", line 199, in setup_package
configuration=configuration )
File "/usr/lib/python2.7/dist-packages/numpy/distutils/core.py", line 152, in setup
config = configuration()
File "setup.py", line 136, in configuration
config.add_subpackage('scipy')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/setup.py", line 8, in configuration
config.add_subpackage('integrate')
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
caller_level = 2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
caller_level = caller_level + 1)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py
config = setup_module.configuration(*args)
File "scipy/integrate/setup.py", line 10, in configuration
blas_opt = get_info('blas_opt',notfound_action=2)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 320, in get_info
return cl().get_info(notfound_action)
File "/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py", line 471, in get_info
raise self.notfounderror(self.notfounderror.__doc__)
numpy.distutils.system_info.BlasNotFoundError:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
此外,如何测试此模块是否正确安装?
最佳思路
PyPM是安装它的好方法。版本是beta 0.10.1,它包含所有依赖项。您需要Active Python才能访问PyPM,但是您应该能够轻松安装。
pypm install scipi
次佳思路
我通常的工作流程是使用virtualenv
使用up-to-date软件包进行Python发行。
在这种环境下,您可以使用pip
且无需任何sudo
调用来安装和更新所需的所有软件包。
$ sudo apt-get install python-virtualenv python-pip
$ sudo apt-get build-dep python-numpy python-scipy
$ # Create virtualenv in home
$ virtualenv .myenv
$ # Activate the virtualenv
$ source .myenv/bin/activate
(myenv)$ pip install -U numpy
(myenv)$ pip install -U scipy
(如果没有root用户访问权限,则可以按照here的说明安装virtualenv
和pip
。但是,您需要NumPy和SciPy的依赖项。)
您可以在.bash_profile
中包含source .myenv/bin/activate
,并且 shell 程序始终以该环境开头。如果使用requirement files,则很容易在所有计算机上安装和维护相同的环境。
第三种思路
有同样的问题。以下为我工作:
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install gfortran
第四种思路
您需要下载并安装Atlas,如输出所示。之后,重试SciPy安装。
其他选项是apt-get install
较旧的版本。这将auto-install的所有依赖项;然后手动安装更新的。这将导致您的计算机上有两个库,一个库最可能在/usr/share/pyshared
中,另一个库在/usr/local
下的某个位置,但是您可以通过更改模块加载路径来确保加载哪个库。
另外,如果您省略--prefix=/usr/local
,而在较旧的版本上安装较新的版本,则它将被覆盖,并且不需要路径修改。
第五种思路
您正在尝试从源代码构建SciPy。
如果只想安装SciPy,请使用以下命令:
sudo apt-get install python-scipy