在Ubuntu上安装SciPy / Python

我目前正在学习安装SciPy Stack来安装SciPy到Ubuntu 12.04(Precise Pangolin)(我无法使用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. 

而且,如何testing这个模块是否安装正确?

PyPM是安装它的好方法。 该版本是beta 0.10.1,它包括所有的依赖关系。 您需要使用Active Python来访问PyPM,但是您应该能够轻松地进行安装。

 pypm install scipi 

我通常的工作流程是使用virtualenv来获得包含最新软件包的Python发行版。

在这个环境中,你可以用pip安装和更新所有你需要的包,而不需要任何sudo调用。

所以如果你只需要SciPy (和NumPy ),这将是:

 $ 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权限,你可以像这里描述的那样安装virtualenvpip ,但是你需要NumPy和SciPy的依赖关系。)

你可以在你的.bash_profile包含source .myenv/bin/activate ,你的shell总是以该环境开始。 如果使用需求文件,则可以轻松地在所有机器上安装和维护相同的环境。

有同样的问题。 以下为我工作:

 sudo apt-get install libblas-dev sudo apt-get install liblapack-dev sudo apt-get install gfortran 

您需要按照输出建议下载并安装Atlas 。 之后,重试SciPy安装。

其他选项是apt-get install旧版本。 这将自动安装所有的依赖; 然后手动安装新的。 这会导致你的机器上有两个库,一个在/usr/share/pyshared ,另一个在/usr/local ,但是你可以通过改变模块加载路径来确定哪一个被加载。

另外,如果您将ommit --prefix=/usr/local ,而在较旧的版本上安装较新的版本,它将被覆盖,并且不需要路径修改。

 sudo apt-get install python-scipy 

我遇到了与OP相同的问题(在Red Hat Linux 5.7上,对于我来说,是的,我知道这是旧的),通过以下方式安装ATLAS头文件(和“静态库文件”):

  yum install atlas-devel 

对于Fedora 20:

 pip install virtualenv virtualenvwrapper mkvirtualenv scipy_project sudo yum-buildep scipy pip install scipy 

我希望它有帮助!