2012-08-08 22 views
30

Attualmente sto seguendo il tutorial Installing the SciPy Stack da installare su Ubuntu SciPy   12.04 (Precise Pangolin) (non posso usare apt-get install perché ho bisogno di una versione recente).SciPy/Python installare su Ubuntu

Tuttavia, ottengo gli errori quando faccio i seguenti comandi:

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 # installa in/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. 

Inoltre, come posso verificare se questo modulo è stato installato correttamente?

+0

http://stackoverflow.com/questions/7496547/python-scipy-needs-blas/14541175#14541175 anche una domanda simile. Potrebbe essere utile – AIB

risposta

2

PyPM è un buon modo per installarlo. La versione è beta 0.10.1 e include tutte le dipendenze. È necessario Active Python per accedere a PyPM, ma è necessario installarlo facilmente.

pypm install scipi 
4

È necessario scaricare e installare Atlas come suggerisce l'output. Quindi, riprovare l'installazione di SciPy.

L'altra opzione è la versione precedente di apt-get install. Questo installerà automaticamente tutte le dipendenze; e quindi installare quello più recente a mano. Ciò comporterà due librerie sul tuo computer, uno in /usr/share/pyshared molto probabilmente e un altro da qualche parte sotto /usr/local, ma puoi assicurarti quale si carica modificando il percorso di caricamento del modulo.

Inoltre, se si sostituisce --prefix=/usr/local, durante l'installazione della versione più recente su quella precedente, verrà semplicemente sovrascritto e il percorso di manomissione non sarà richiesto.

+10

Probabilmente è necessario 'apt-get build-dep scipy' per installare i pacchetti -dev necessari per compilarlo. Just 'apt-get install scipy' non li installerà. –

+0

@ThomasK Ti meriti un inizio per quello che il mio uomo buono :) –

26

mio solito flusso di lavoro è quello di utilizzare un virtualenv per avere una distribuzione Python con up-to-date pacchetti.

All'interno di questo ambiente è possibile installare e aggiornare tutti i pacchetti necessari con pip e senza alcuna chiamata sudo.

Quindi, se avete solo bisogno SciPy (e NumPy) questo sarebbe:.

$ 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 

(Se non si dispone di accesso root, è possibile installare virtualenv e pip come descritto here tuttavia, è necessario il dipendenze di NumPy e SciPy)

È possibile includere source .myenv/bin/activate nel proprio .bash_profile e la shell inizierà sempre con quell'ambiente. Se si utilizza requirement files, è facile installare e mantenere gli stessi ambienti su tutte le macchine.

+1

Grazie mille. Mi mancava il passo "sudo apt-get build-dep python-numpy python-scipy". – JayCrossler

2
sudo apt-get install python-scipy 
+2

Anche se questa è una risposta, suggerirei di dare qualche dettaglio in più. – Zyerah

+0

Dopo aver fallito con pip, questo metodo funziona per me. – philshem

+0

3 ore di mal di testa e finalmente questo ha funzionato. – erosenin

1

Ho avuto lo stesso problema, come il PO (su Red Hat Linux 5,7 per me, sì, lo so che è vecchio) e tutto era risolto installando le intestazioni ATLAS (e "librerie statiche", si dice) tramite:

yum install atlas-devel 
16

Aveva lo stesso problema.Di seguito ha lavorato per me:

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

Posso chiederti come hai capito che quei pacchetti risolvono il problema? Grazie –

+0

Dr Google, dalla memoria. –

0

Per Fedora 20:

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

Spero che aiuta!