Неможливо встановити 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 через домашню мову, тому мені не потрібно використовувати sudo. Крім того, чому б судо допомагало на етапі збирання? Я бачу його використання, якщо він кинув дозвіл, відхилений чи щось.
— agconti

Ви впевнені, що помилка не викликана якоюсь проблемою дозволу?
— Пьотр Дабковський

Користувачі Windows можуть побачити мою відповідь тут
— Statham

Для Centos гарантуйте, що у вас є lapack-devel, якщо ви не зробите yum встановити lapack-devel
— Divyank Shukla

Відповіді:


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
— БенБ

Мені довелося видалити стару версію pip перед оновленням. Тоді це спрацювало чудово.
— Автономний

1
Крім того, на моєму ідеально свіжому встановленні 14.04 мені також довелосяsudo apt-get install python-dev
— БенБ

90

Користувачам Microsoft Windows 64-розрядної установки Python потрібно буде завантажити 64-бітний .whlScipy звідси , а потім просто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

Я бачу ту саму проблему, що і @ user32882. Що ми робимо неправильно?
— gen

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

59

Я зіткнувся з тією ж проблемою, коли встановив Scipy під ubuntu.
Мені довелося використовувати команду:

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

Ви можете отримати більш детальну інформацію тут. Встановлення SciPy за допомогою pip
Вибачте, не знаю, як це зробити в ОС X X Yosemite.


Це вирішило проблему, яку я мав за допомогою "Bash on 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, 32-бітний Python 2.7)
— U. Muneeb

Це працювало для мене на програмі win 10 з Python 3.5 та 64b для встановлення машинних підказок 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 10scipy-0.19.1-cp36-cp36m-win_amd64.whl
— Дмитро

Дякую !, щоб використовувати непрочитані, мені потрібно було встановити Подушку також --pip встановити Подушку
— безмежно

13

Знайшовши цю відповідь за деякими підказками, я зрозумів це, працюючи

brew install gcc 
pip install scipy

(Перший із цих кроків зайняв 96 хвилин у моєму Mac Book Air 2011 року, тож сподіваюся, ви не поспішаєте!)


Я насправді не зміг brew install gcc. Це врешті-решт кинуло купу помилок. Але після роботи з хлопцями Scipy; Я знайшов рішення. Дякую за вашу відповідь!
— agconti

Це фактично виявилося для мене прямим рішенням. Нарешті не будуйте та не встановлюйте завантажений набір scipy. :)
— Шон

Це працювало для мене, і на перший крок знадобилося лише кілька секунд
— Андре Фрателлі

9

Якщо ви абсолютно новачок у python читайте покроково або переходьте безпосередньо до останнього кроку. Дотримуйтесь наведеного нижче способу, щоб встановити scipy 0.18.1 на Windows 64-бітний, 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. Ви використовуєте pip версії 7.1.0, проте версія 8.1.2 доступна.

Вам слід розглянути можливість оновлення за допомогою команди "python -m pip install - nadograd pip"

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl на цій платформі не підтримується колесо

Для вищезгаданої помилки: запустіть Python та введіть:

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

Вихід:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none ',' будь-який '), (' cp3 ',' none ',' any '), (' py35 ',' none ',' any '), (' py3 ',' none ',' any '), ( 'py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'будь-який'), ('py30', 'none', 'any')]

На виході ви помітите, що 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: \ Користувачі \ 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

Продовжувати ([у] / н)? у

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

Це альтернатива піпсу . У мене також була така ж помилка при установці 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, вам потрібно встановити лапак-розробник так:

 $ 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: \ НАПРЯМКА \ numpy \ numpy-0.0.0 + mkl-cp2n-cp2nm-win_amd32.whl

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

C: \ НАПРЯМКА \ 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

повинні встановити

Перевірте обидва модулі на вашому IDLE python таким чином:

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 з

імпортна наука


PS: У мене кілька версій Phyton (2.7,3.5 та 3.6), встановлені на одному комп’ютері під Windows 7
— Ion Stefanache

0

Найпростіший спосіб встановлення scipy в Windows 10 100% такий: Просто підпишіть це ====> pip install scipy==1.0.0rc2

Дякую пізніше :)


Синтаксис недійсний
— user2063329

user2063329 Спробуйте pip3
— Джордж C.

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.