Scipy install на горном льве
Когда я пытаюсь установить scipy с помощью pip install scipy, он терпит неудачу со следующей трассировкой
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']
Я использую Mountain Lion и python 2.7.3, которые я установил с помощью homebrew, и numpy был установлен с помощью nump install.
Почему происходит сбой установки?
Ответы
Ответ 1
Кажется, это проблема с pip и numpy, которая не копирует скомпилированные библиотеки в каталог сайтов-пакетов.
Вы можете установить с помощью pip в virtualenv (который работал у меня)
или
установите из источника, используя
python setup.py install
метод.
Здесь есть несколько комментариев:
http://www.thisisthegreenroom.com/2011/installing-python-numpy-scipy-matplotlib-and-ipython-on-lion/
Ответ 2
если вы используете доморощенный, вы можете попробовать следующее (спасибо https://github.com/pypa/pip/issues/707):
brew tap samueljohn/homebrew-python
brew install numpy
brew install scipy
Ответ 3
Если вы не используете virtualenv
, тогда наименее навязчивое исправление может быть вручную отредактировано /usr/local/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg/pip/locations.py
(версия вашего приложения может отличаться). Просто замените строку 35 на:
build_prefix = os.path.join(tempfile.gettempdir(), 'pip-build')
в
build_prefix = os.path.realpath(os.path.join(tempfile.gettempdir(), 'pip-build'))
После этого изменения вам нужно переустановить numpy
(pip uninstall numpy; pip install numpy
). Затем scipy
можно установить с помощью pip.
Проблема вызвана ошибкой pip. И вышеприведенное решение соответствует патчу pip (предлагается в проблема, упомянутый Lokkju) от qwcode пользователя github. Этот патч, кажется, был объединен с главным репозиторием pip. Тем не менее, я не вижу легкого способа обновления brew, поскольку он связан с Python. Поэтому просто вручную, чтобы это простое исправление работало для меня.
Ответ 4
У меня была такая же проблема в 2015 году с MacOSX Yosemite. Я думаю, что это вызвано ошибкой старой версии pip. Деинсталляция пипса и получение новейшей версии помогает.
Получить pip из https://pip.pypa.io/en/latest/installing.html
и затем
$ sudo pip uninstall scipy
$ sudo pip install scipy