[英]SciPy/Python install on Ubuntu
I'm currently following the tutorial Installing the SciPy Stack to install SciPy on Ubuntu 12.04 (Precise Pangolin) (I can't use apt-get install
because I need a recent version).我目前正在按照教程安装 SciPy 堆栈在 Ubuntu 12.04(精确穿山甲)上安装SciPy (我无法使用apt-get install
因为我需要最新版本)。
However, I get errors when I do the following commands:但是,当我执行以下命令时出现错误:
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 # installs to /usr/local 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.
Moreover, how do I test if this module was installed correctly?此外,如何测试此模块是否正确安装?
My usual work flow is to use a virtualenv
to have a Python distribution with up-to-date packages.我通常的工作流程是使用virtualenv
来拥有带有最新包的 Python 发行版。
Within this environment you can than install and update all packages you need with pip
and without any sudo
calls.在此环境中,您可以使用pip
安装和更新您需要的所有软件包,而无需任何sudo
调用。
So if you only need SciPy (and NumPy ) this would be:因此,如果您只需要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
(If you don't have root access, you can install virtualenv
and pip
as described here . However, you need the dependencies of NumPy and SciPy.) (如果您没有 root 访问权限,您可以按照此处所述安装virtualenv
和pip
。但是,您需要 NumPy 和 SciPy 的依赖项。)
You can include source .myenv/bin/activate
in your .bash_profile
and your shell will always start with that environment.您可以在.bash_profile
包含source .myenv/bin/activate
并且您的 shell 将始终以该环境开始。 If you use requirement files it is easy to install and maintain the same environments on all your machines.如果您使用需求文件,则很容易在所有机器上安装和维护相同的环境。
Had the same problem.有同样的问题。 The following worked for me:以下对我有用:
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install gfortran
You need to download and install Atlas as the output suggests.您需要按照输出提示下载并安装Atlas 。 After that, retry the SciPy installation.之后,重试 SciPy 安装。
Other option would be apt-get install
older version.其他选项是apt-get install
旧版本。 This will auto-install all the dependencies;这将自动安装所有依赖项; and then install the newer one by hand.然后手动安装较新的。 This will result in two libraries on your machine, one in /usr/share/pyshared
most likely and another one somewhere under /usr/local
, but you can make sure which one is loaded by altering the module loading path.这将导致您的机器上有两个库,一个最有可能在/usr/share/pyshared
下,另一个在/usr/local
,但您可以通过更改模块加载路径来确保加载了哪个库。
Also, if you will ommit --prefix=/usr/local
, while installing newer version on top of older one, it will just get overwritten and the path mangling won't be required.此外,如果您将省略--prefix=/usr/local
,在旧版本之上安装新版本时,它只会被覆盖并且不需要路径修改。
You're trying to build SciPy from source.您正在尝试从源代码构建 SciPy。
If you just want to install SciPy, use this command:如果您只想安装SciPy,请使用以下命令:
sudo apt-get install python-scipy
PyPM is a good way to install it. PyPM是安装它的好方法。 The version is beta 0.10.1 and it includes all of the dependencies.该版本是 beta 0.10.1,它包含所有依赖项。 You need Active Python to access PyPM, but that you should be able to install easily.您需要Active Python来访问 PyPM,但您应该能够轻松安装。
pypm install scipi
我遇到了与 OP 相同的问题(在Red Hat Linux 5.7 上对我来说;是的,我知道那是旧的)并且所有问题都通过安装 ATLAS 标头(和“静态库”,它说)通过以下方式解决:
yum install atlas-devel
For Ubuntu 20.04 on Raspberry Pi 4, Use following:对于 Raspberry Pi 4 上的 Ubuntu 20.04,请使用以下命令:
sudo apt-get install libblas3 liblapack3 liblapack-dev libblas-dev gfortran libatlas-base-dev
and then use pip to install latest packages.然后使用 pip 安装最新的软件包。
pip install scipy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.