2012-08-08 4 views
30

Jestem obecnie po tutorialu Installing the SciPy Stack instalowania SciPy na Ubuntu 12.04   (Precise Pangolin) (nie mogę używać apt-get install bo potrzebują najnowszej wersji).scipy/Python zainstalować na Ubuntu

Jednak pojawiają się błędy, kiedy należy wykonać następujące polecenia:

python setup.py build 
sudo python setup.py install --prefix=/usr/local # Installs to /usr/local 

python setup.py build 

[email protected]:~/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 # instaluje/usr/local

[email protected]:~/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. 

Co więcej, jak mogę sprawdzić, czy ten moduł został zainstalowany poprawnie?

+0

http://stackoverflow.com/questions/7496547/python-scipy-needs-blas/14541175#14541175 również podobne pytanie. Może być użyteczny – AIB

Odpowiedz

2

PyPM to dobry sposób na jego instalację. Wersja jest w wersji beta 0.10.1 i zawiera wszystkie zależności. Aby uzyskać dostęp do PyPM, potrzebujesz Active Python, ale powinieneś być w stanie łatwo zainstalować.

pypm install scipi 
4

Musisz pobrać i zainstalować Atlas, jak sugeruje wynik. Następnie ponownie spróbuj zainstalować SciPy.

Inną opcją byłaby starsza wersja apt-get install. Spowoduje to automatyczną instalację wszystkich zależności; a następnie zainstaluj nowszą ręcznie. To spowoduje dwie biblioteki na twoim komputerze, jedną w /usr/share/pyshared najprawdopodobniej i drugą pod numerem /usr/local, ale możesz upewnić się, który z nich jest ładowany przez zmianę ścieżki ładowania modułu.

Ponadto, jeśli usuniesz --prefix=/usr/local, podczas instalowania nowszej wersji na starszej, zostanie ona po prostu nadpisana, a ścieżka nie będzie wymagana.

+10

Prawdopodobnie potrzebujesz 'apt-get build-dep scipy' do instalacji pakietów -dev, które są wymagane do skompilowania go. Tylko 'apt-get install scipy' nie zainstaluje tych. –

+0

@ThomasK Zasługujesz na początek, mój dobry człowiek :) –

26

Mój zwykły przepływ pracy jest użycie virtualenv mieć dystrybucji Python z up-to-date pakietach.

W tym środowisku można zainstalować i zaktualizować wszystkie potrzebne pakiety za pomocą pip i bez wywołań sudo.

Więc jeśli potrzebujesz tylko SciPy (i NumPy) byłoby to:.

$ 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 

(Jeśli nie masz dostępu do konta roota, można zainstalować virtualenv i pip jak opisano here Jednak potrzebne są zależności NumPy i SciPy.)

Możesz dołączyć source .myenv/bin/activate do swojego .bash_profile, a twoja powłoka zawsze zacznie się od tego środowiska. Jeśli używasz requirement files, łatwo jest zainstalować i utrzymywać te same środowiska na wszystkich twoich maszynach.

+1

Wielkie dzięki. Brakowało kroku "sudo apt-get build-dep python-numpy python-scipy". – JayCrossler

2
sudo apt-get install python-scipy 
+2

Chociaż jest to odpowiedź, proponuję podać trochę więcej szczegółów. – Zyerah

+0

Po awarii pip, ta metoda działa dla mnie. – philshem

+0

3 godziny bólu głowy i wreszcie to zadziałało. – erosenin

1

miałem ten sam problem jak PO (na Red Hat Linux 5.7 dla mnie, tak, wiem, że to stary) i wszystko zostało ustalone przez zainstalowanie nagłówki Atlas (i „static libs”, mówi) poprzez:

yum install atlas-devel 
16

Miał ten sam problem.Następujące pracował dla mnie:

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

Czy mogę zapytać, skąd się wziąłeś, że te pakiety rozwiązują problem? Dzięki –

+0

Dr Google, z pamięci. –

0

Dla Fedora 20:

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

Mam nadzieję, że to pomaga!