Не удается установить Scipy через pip


119

При установке scipy через pip с помощью:

pip install scipy

Pip не может построить scipy и выдает следующую ошибку:

Cleaning up...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Storing debug log for failure in /Users/administrator/.pip/pip.log

Как я могу добиться успеха в сборке? Это может быть новая проблема с OSX Yosemite, так как я только что обновился и раньше не имел проблем с установкой scipy.


Журнал отладки:

Cleaning up...
  Removing temporary dir /Users/administrator/dev/KaggleAux/env/build...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Exception information:
Traceback (most recent call last):
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy

Попробуйте использовать sudo pip install scipy
Петр Дабковский,

@PiotrDabkowski Я установил python через homebrew, поэтому мне не нужно использовать sudo. Кроме того, почему sudo помогает на этапе сборки? Я вижу его использование, если он отказал в разрешении или что-то в этом роде.
agconti

Вы уверены, что ошибка не вызвана проблемой с разрешением?
Петр Дабковский

Пользователи Windows могут увидеть мой ответ здесь
Стэтхэм,

Для Centos убедитесь, что у вас есть Lapack-devel, если нет, yum install lapack-devel
Дивьянк Шукла

Ответы:


106

После открытия проблемы с командой SciPy мы обнаружили, что вам нужно обновить pip с помощью:

pip install --upgrade pip

И в Python 3этом работает:

python3 -m pip install --upgrade pip

для правильной установки SciPy. Зачем? Так как:

В более старых версиях pip нужно указать, что нужно использовать колеса, IIRC с --use-wheel. Или можно модернизировать сам пип, тогда он должен поднять колеса.

Обновление pip решает проблему, но вы также можете просто использовать --use-wheelфлаг.


11
Это сработало для меня - но мне также пришлось установить пакеты, предложенные Люкомsudo apt-get install libatlas-base-dev gfortran
BenB

Перед обновлением мне пришлось удалить старую версию pip. Тогда все заработало отлично.
Autonomous

1
Кроме того, в моей совершенно новой установке 14.04 мне также пришлосьsudo apt-get install python-dev
BenB

90

Пользователи Microsoft Windows с 64-битными установками Python должны будут загрузить 64-битную .whlверсию Scipy отсюда , а затем просто cdв папку, в которую вы загрузили .whlфайл, и запустить:

pip install scipy-0.16.1-cp27-none-win_amd64.whl

28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Часовщик

15
@gugol Возможно, вы уже пробовали это, но вы должны убедиться, что числа после cp соответствуют вашей версии Python (например, cp34 = 3.4), а amd64 / win32 верны.
fdsa

4
D:\TEMP>pip install "scipy-0.19.1-cp35-cp35m-win_amd64.whl" Requirement 'scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl' looks li ke a filename, but the file does not exist scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl is not a valid wheel f ilename. D:\TEMP>pip install "test.whl" test.whl is not a valid wheel filename. D:\TEMP>pip install test.whl test.whl is not a valid wheel filename.Я cd в каталог, пытаюсь запустить его, затем получаю сообщение об ошибке. Затем я меняю имя файла, пытаюсь запустить, получаю еще одну ошибку. Метод не работает ...
user32882 04

У меня та же проблема, что и у @ user32882. Что мы делаем не так?
ген

@gugol У меня была такая же проблема, помогла заметка от @ Cyclotron3x3; -cp27имя файла относится к версии питона, я должен был найти файл с -cp36именем файла , чтобы соответствовать моей версии Python: 3.6.
Бенсон

59

У меня такая же проблема при установке Scipy под ubuntu.
Мне пришлось использовать команду:

$ sudo apt-get install libatlas-base-dev gfortran
$ sudo pip3 install scipy

Вы можете получить более подробную информацию здесь. Установка SciPy с помощью pip.
Извините, я не знаю, как это сделать в OS X Yosemite.


Это решило проблему, с которой я столкнулся при использовании «Bash в Ubuntu в Windows 10».
Coxy

41

В Windows 10 большинство параметров работать не будут. Следуй этим шагам:

В Windows 10 с CMD, вы не можете загрузить scipyнепосредственно с помощью большинства известных команд нравится wget, cloning scipy github, pip install scipy, и т.д.

Для установки перейдите в файлы pythonlibs .whl , и если вы используете, python 2.7 32 bitто загрузите numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlили, если python 2.7 62 bitзатем, загрузитеnumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

После скачивания сохраните файлы под свои python directory, в моем случае это былоc:\>python27

Затем запустите:

pip install C:\Python27\numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl 
pip install C:\Python27\scipy-0.18.1-cp27-cp27m-win32.whl

Примечание:

  1. scipyпотребности numpyкак зависимость, поэтому мы загружаем numpyраньше scipy.
  2. cp27в файлах .whl означает, что эти файлы предназначены для python 2.7и cp33означает python 3.xспециально> = 3.3

Это сработало как шарм! :) Пробовал все другие решения, но не удалось (Windows 10, Python 2.7 32-бит)
U. Muneeb

Это сработало для меня на win 10 с Python 3.5 и 64b machine pip install numpy-1.13.1 + mkl-cp35-cp35m-win_amd64.whl pip install numpy-1.13.1 + mkl-cp35-cp35m-win_amd64.whl
vlad

Этот ответ решил проблему в моем случае (Windows 8.1), но мне также нужно было загрузить и установить колесо numpy + mkl . Сделайте это, если вы получаете ошибку ImportError «NUMPY_MKL» при попытке импорта scipy после этого ответа. Кредиты для @VMAtm .
Ренато Бирро

Для Python 3.6.2 в Windows 10 используйтеscipy-0.19.1-cp36-cp36m-win_amd64.whl
Дмитрий

Спасибо !, для использования imread я был необходим для установки подушки также --pip установки подушки
безграничны

13

Найдя этот ответ на некоторые подсказки, я получил эту работу, выполнив

brew install gcc 
pip install scipy

(Первый из этих шагов на моем Mac Book Air 2011 года занял 96 минут, так что я надеюсь, что вы никуда не торопитесь!)


На самом деле я не смог brew install gcc. Это закончилось кучей ошибок. Но после работы с ребятами Scipy; Я нашел решение. Спасибо за Ваш ответ!
agconti

На самом деле это оказалось для меня прямым решением. В конце концов, вы не собираете и не устанавливаете загруженный scipy kit. :)
Шон

Это сработало для меня, и мне потребовалось всего несколько секунд для первого шага
Андре Фрателли,

9

Если вы новичок в питоне, прочтите его шаг за шагом или перейдите сразу к последнему шагу. Следуйте приведенному ниже методу, чтобы установить scipy 0.18.1 в 64-разрядной версии Windows и 64-разрядной версии Python. Если команда ниже не работает, продолжайте дальше

pip install scipy

Будьте осторожны с версиями

  1. питон

  2. Windows

  3. .whl версия файлов numpy и scipy

  4. Сначала установите numpy и scipy.

    pip install FileName.whl
  5. Для Numpy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy Для Scipy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Обратите внимание на имя файла (проверьте номер версии).

Пример: scipy-0.18.1-cp35-cp35m-win_amd64.whl

Чтобы проверить, какая версия поддерживается вашим пипом, перейдите к пункту № 2 ниже.

Если вы используете файл .whl. Вероятны следующие ошибки.

  1. Вы используете версию 7.1.0 pip, однако доступна версия 8.1.2.

Вам следует рассмотреть возможность обновления с помощью команды python -m pip install --upgrade pip

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl не поддерживается wheel на этой платформе

Для указанной выше ошибки: запустите Python и введите:

import pip
print(pip.pep425tags.get_supported())

Вывод:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'нет ',' любой '), (' cp3 ',' none ',' any '), (' py35 ',' none ',' any '), (' py3 ',' none ',' любой '), ( 'py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'нет', 'любой'), ('py30', 'нет', 'любой')]

В выводе вы увидите, что cp35 присутствует, поэтому загрузите cp35 как для numpy, так и для scipy. Дальнейшие изменения приветствуются.



6

Вместо того, чтобы идти по более сложному пути загрузки определенных пакетов. Я предпочитаю идти по более быстрому пути использования Conda. у pip есть свои проблемы.

  • Python -v (3.6.0)
  • Windows 10 (64 бит)

Conda, установите conda из: https://conda.io/docs/install/quick.html#windows-miniconda-install

командная строка

C:\Users\xyz>conda install -c anaconda scipy=0.18.1
Fetching package metadata .............
Solving package specifications:

План пакета для установки в среде C: \ Users \ xyz \ Miniconda3:

Будут УСТАНОВЛЕНЫ следующие НОВЫЕ пакеты:

mkl:       2017.0.1-0         anaconda
numpy:     1.12.0-py36_0      anaconda
scipy:     0.18.1-np112py36_1 anaconda

Следующие пакеты будут ПОДДЕРЖИВАЮТСЯ каналом с более высоким приоритетом:

conda:     4.3.11-py36_0               --> 4.3.11-py36_0 anaconda
conda-env: 2.6.0-0                     --> 2.6.0-0       anaconda

Продолжить ([y] / n)? Y

conda-env-2.6. 100% |###############################| Time: 0:00:00  32.92 kB/s
mkl-2017.0.1-0 100% |###############################| Time: 0:00:24   5.45 MB/s
numpy-1.12.0-p 100% |###############################| Time: 0:00:00   5.09 MB/s
scipy-0.18.1-n 100% |###############################| Time: 0:00:02   5.59 MB/s
conda-4.3.11-p 100% |###############################| Time: 0:00:00   4.70 MB/s


4

Это альтернатива pip . У меня также была такая же ошибка при установке scipy с помощью pip.

Затем я загрузил и установил MiniConda . А затем я использовал приведенную ниже команду для установки pytables.

conda install -c conda-forge scipy

См. Снимок экрана ниже.

введите описание изображения здесь


3

лучший метод, который я мог бы предложить, - это

  1. Загрузите файл колеса из этого места для своей версии Python

  2. Переместите файл на главный диск, например, C:>

  3. Запустите Cmd и введите следующее

    • pip установить scipy-1.0.0rc1-cp36-none-win_amd64.whl

Обратите внимание, что это версия, которую я использую для своего pyhton 3.6.2, она должна быть установлена ​​нормально

вы можете запустить эту команду позже, чтобы убедиться, что все ваши надстройки python обновлены

pip list --outdated

1

Либо вручную загрузите и запустите http://www.lfd.uci.edu/~gohlke/pythonlibs версию Scipy, подходящую для вас. Обратите внимание на вашу версию Python (python --version) и архитектуру вашей системы (32/64 бит) . Соответственно выберите версию Scipy. scipy-0.18.1- cp27 -cp27m- win32 - для Python 2.7 32-битный scipy-0.18.1- cp27 -cp27m- win_amd64 - для Python 2.7 64-битный В противном случае ошибка scipy-0.15.1-cp33-none-win_amd64.whl .whl не поддерживается колесом на этой платформе появится всплывающее окно при установке.

Теперь смените каталог на загруженный файл и выполните команду pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl(измените имя файла соответствующим образом)

Я добавил этот ответ только потому, что в ответе Аруна (который я нашел полезным) ничего не упоминалось о 32/64-битном сопоставлении, с которым я столкнулся.


0

Если вы используете CentOS, вам необходимо установить lapack-devel следующим образом:

 $ yum install lapack-devel

0

Попробуйте загрузить файл scipy по ссылке ниже

https://sourceforge.net/projects/scipy/?source=typ_redirect

Это будет файл .exe, и вам просто нужно его запустить. Но не забудьте выбрать версию scipy, соответствующую вашей версии python.

Когда файл scipy.exe будет запущен, он найдет каталог python и будет установлен.



0

У меня была такая же проблема, и мне удалось использовать sudo.

$ sudo pip install scipy

0

Самый простой способ - выполнить следующие шаги: Исправить scipy для python [2.n <python <3.n]

Загрузите необходимые файлы с: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Загрузите версию numpy + mkl (необходимо для запуска scipy), а затем загрузите scipy для вашего типа python (2.n python, записанный как 2n) или (3.n python, записанный как 3n), n - это переменная. Обратите внимание, вы должны знать, какой у вас процессор: 32-битный или 64-битный.

Создайте каталог где-нибудь на вашем компьютере, например [C: \ DIRECTORY], чтобы установить файлы numpy + mkd.whl и scipy.whl

Как только оба файла будут загружены, найдите расположение файла на вашем компьютере и переместите его в созданный вами каталог.

Пример: требуется установка первого файла, если scipy находится в

C: \ Directory \ NumPy \ NumPy-0.0.0 + MKL-cp2n-cp2nm-win_amd32.whl

Пример: установка второго файла находится в

C: \ Directory \ SciPy \ SciPy-0.0.0-cp2n-cp2nm-win_amd32.whl

Перейдите в командную строку и выполните следующий пример для Python версии 2.n:

py -2.n -m pip install C:\DIRECTORY\numpy\numpy-0.0.0+mkl-cp2n-cp2nm-win_amd32.whl

следует установить

py -2.n -m pip install C:\DIRECTORY\scipy\scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

следует установить

Проверьте оба модуля на своем Python IDLE следующим образом:

import numpy

import scipy

модули работают, если ошибок не было.

IFDAAS


Этот ответ специфичен для Windows, поскольку спрашивающий находится в OS X Yosemite?
Ари Купер-Дэвис,

0

Для окон (в моем случае 7):

  1. загрузите scipy-0.19.1-cp36-cp36m-win32.whl с http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. создать один файл some.bat с содержимым

    @echo off C:\Python36\python.exe -m pip -V C:\Python36\python.exe -m pip install scipy-0.19.1-cp36-cp36m-win32.whl C:\Python36\python.exe -m pip list pause

  3. затем запустите этот командный файл some.bat

  4. вызовите оболочку python "C: \ Python36 \ pythonw.exe" C: \ Python36 \ Lib \ idlelib \ idle.pyw "и проверьте, был ли scipy установлен с

импортный scipy


PS: У меня есть несколько версий Phyton (2.7,3.5 и 3.6), установленных на одном компьютере под Windows 7
Ион


0

У меня возникли аналогичные проблемы с Python 3.7 (3.7.0b4). Это было связано с некоторыми изменениями, касающимися некоторых предположений кодирования (Python 3.6 >> Python 3.7)

В результате не удалось установить множество пакетов (например, через pip).


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.