Неможливо встановити 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.