2012-09-25 9 views
11

Quando provo ad installare SciPy utilizzando pip install SciPy non riesce con il seguente tracebackSciPy installare il leone di montagna in mancanza

Downloading/unpacking scipy 
    Downloading scipy-0.10.1.tar.gz (6.2MB): 6.2MB downloaded 
    Running setup.py egg_info for package scipy 
    Running from scipy source directory. 
    blas_opt_info: 
     FOUND: 
     extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] 
     define_macros = [('NO_ATLAS_INFO', 3)] 
     extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers'] 

    non-existing path in '/private/var/folders/rd/fplkflh93ls54kbl5ylphl4h0000gn/T/pip-build/scipy/scipy/io': 'docs' 
    lapack_opt_info: 
     FOUND: 
     extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] 
     define_macros = [('NO_ATLAS_INFO', 3)] 
     extra_compile_args = ['-msse3'] 

    umfpack_info: 
     libraries umfpack not found in /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib 
     libraries umfpack not found in /usr/local/lib 
     libraries umfpack not found in /usr/lib 
    /usr/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:470: UserWarning: 
     UMFPACK sparse solver (http://www.cise.ufl.edu/research/sparse/umfpack/) 
     not found. Directories to search for the libraries can be specified in the 
     numpy/distutils/site.cfg file (section [umfpack]) or by setting 
     the UMFPACK environment variable. 
     warnings.warn(self.notfounderror.__doc__) 
     NOT AVAILABLE 

    Traceback (most recent call last): 
     File "<string>", line 16, in <module> 
     File "/var/folders/rd/fplkflh93ls54kbl5ylphl4h0000gn/T/pip-build/scipy/setup.py", line 196, in <module> 
     setup_package() 
     File "/var/folders/rd/fplkflh93ls54kbl5ylphl4h0000gn/T/pip-build/scipy/setup.py", line 187, in setup_package 
     configuration=configuration) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/core.py", line 152, in setup 
     config = configuration() 
     File "/var/folders/rd/fplkflh93ls54kbl5ylphl4h0000gn/T/pip-build/scipy/setup.py", line 138, in configuration 
     config.add_subpackage('scipy') 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage 
     caller_level = 2) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage 
     caller_level = caller_level + 1) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py 
     config = setup_module.configuration(*args) 
     File "scipy/setup.py", line 20, in configuration 
     config.add_subpackage('special') 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage 
     caller_level = 2) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage 
     caller_level = caller_level + 1) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 908, in _get_configuration_from_setup_py 
     config = setup_module.configuration(*args) 
     File "/private/var/folders/rd/fplkflh93ls54kbl5ylphl4h0000gn/T/pip-build/scipy/scipy/special/setup.py", line 54, in configuration 
     extra_info=get_info("npymath") 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 2220, in get_info 
     pkg_info = get_pkg_info(pkgname, dirs) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/misc_util.py", line 2172, in get_pkg_info 
     return read_config(pkgname, dirs) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/npy_pkg_config.py", line 390, in read_config 
     v = _read_config_imp(pkg_to_filename(pkgname), dirs) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/npy_pkg_config.py", line 326, in _read_config_imp 
     meta, vars, sections, reqs = _read_config(filenames) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/npy_pkg_config.py", line 309, in _read_config 
     meta, vars, sections, reqs = parse_config(f, dirs) 
     File "/usr/local/lib/python2.7/site-packages/numpy/distutils/npy_pkg_config.py", line 281, in parse_config 
     raise PkgNotFound("Could not find file(s) %s" % str(filenames)) 
    numpy.distutils.npy_pkg_config.PkgNotFound: Could not find file(s) ['/usr/local/lib/python2.7/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini'] 

sto usando Mountain Lion, e pitone 2.7.3 che ho installato utilizzando homebrew, e numpy è stato installato usando pip install numpy.

Perché l'installazione di scipy non funziona?

risposta

9

Questo sembra essere un problema con pip e numpy, che non copia le librerie compilate nella directory dei pacchetti del sito.

Si potrebbe installare utilizzando pip in un virtualenv (che ha lavorato per me) o installare dai sorgenti con il metodo

python setup.py install 

.

Ci sono alcuni commenti su problema qui:

http://www.thisisthegreenroom.com/2011/installing-python-numpy-scipy-matplotlib-and-ipython-on-lion/

+5

Questo problema non è limitato a OSX: ho avuto lo stesso problema con pip 1.2.1 in esecuzione in virtualenv 1.8.2 su Ubuntu. 'pip install numpy' sembrava funzionare, ma poi' pip install scipy' fallirebbe come sopra. La soluzione era scaricare le sorgenti di Numpy e installarle manualmente usando 'python setup.py install --prefix =/percorso/a/mio/virtuale/ambiente'. Successivamente, 'pip install scipy' ha funzionato. –

+6

Solo un aggiornamento, ecco l'attuale modo non virtualenv su Mountain Lion 'mkdir -p build && cd build' quindi' git clone https: // github.com/numpy/numpy.git' quindi 'python setup.py build 'quindi' python setup.py install' quindi 'pip install scipy' dato che solo numpy sotto pip è rotto, non scipy. –

4

Se non si utilizza virtualenv, quindi la correzione meno intrusiva può essere modificata manualmente /usr/local/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg/pip/locations.py (la versione del pip può variare). Basta sostituire la linea 35 da:

build_prefix = os.path.join(tempfile.gettempdir(), 'pip-build') 

a:

build_prefix = os.path.realpath(os.path.join(tempfile.gettempdir(), 'pip-build')) 

Dopo questa modifica, è necessario reinstallare numpy (pip uninstall numpy; pip install numpy). Il scipy può quindi essere installato tramite pip correttamente.

Il problema è causato da un errore di pip. E la soluzione di cui sopra è secondo the pip patch (suggerito in the issue discussion menzionato da Lokkju) da qwcode utente github. Questa patch sembra essere stata unita al repository principale dei pip. Tuttavia, non vedo un modo semplice per preparare l'aggiornamento pip dal momento che è in bundle con Python. Quindi, solo manualmente, questa semplice correzione funziona per me.

+0

Volevo solo aggiungere che questa soluzione è necessaria se si installa scipy localmente, poiché pip 1.3.1+ richiede un certificato SSL e pip 1.2.1 non * ha * questa modifica build_prefix. – Guillochon

0

Ho avuto lo stesso problema nel 2015 con MacOSX Yosemite. Penso che sia causato dal bug della vecchia versione di pip. Disinstallare pip e ottenere la versione più recente di esso aiuta. Get pip dal https://pip.pypa.io/en/latest/installing.html e poi

$ sudo pip uninstall scipy 
$ sudo pip install scipy 
Problemi correlati