Установка SciPy с помощью pip


207

Можно установить NumPy с помощью pippip install numpy .

Есть ли подобная возможность с SciPy ? (Делать pip install scipyне работает.)


Обновить

Пакет SciPy теперь доступен для установки с pip!


3
Возможно, вы захотите пересмотреть принятый ответ (возможно, на knoxxs?). Я не думаю, что установка через git должна быть предпочтительным методом! :)
Энди Хейден

10
Это снова актуально, потому что последние несколько версий не могут простоpip install
erikbwork

Ответы:


106

Попытка easy_installуказать на проблему с их перечислением в индексе пакета Python , который ищет pip.

easy_install scipy
Searching for scipy
Reading http://pypi.python.org/simple/scipy/
Reading http://www.scipy.org
Reading http://sourceforge.net/project/showfiles.php?group_id=27747&package_id=19531
Reading http://new.scipy.org/Wiki/Download

Однако еще не все потеряно; pipможно установить из репозиториев Subversion (SVN), Git , Mercurial и Bazaar . SciPy использует SVN:

pip install svn+http://svn.scipy.org/svn/scipy/trunk/#egg=scipy

Обновление (12-2012):

pip install git+https://github.com/scipy/scipy.git

Поскольку NumPy является зависимостью, она также должна быть установлена.


1
Brilliant! Для меня это было следующим: pip install svn+http://svn.scipy.org/svn/scipy/trunk обратите внимание, что после stackoverflow.com/questions/651305 вы также можете выбрать данную ревизию (скажем, 5839, которая, как я считаю, является последней стабильной версией 0.7.1), используя: pip install http://svn.scipy.org/svn/scipy/!svn/bc/5839/trunk/ хотя я не тестировал что ...
Оливье Вердиер

+1 за долговечность и надежность. Это все еще работает для меня 2 года спустя на OSX 10.8.2 и python 2.7. Стандарт pip install scipyтерпит неудачу во время компиляции Fortan (даже после успешного brew install gfortranи pip install numpy). Установка svn требует установки github repoates @ lokalhort с помощью python3 или зависимостей @ elaichi apt-getдля ubuntu.
варенье

2
Предположительно, это означает, что вы получаете кровоточащий край, а не последние стабильные релизы.
Энди Хейден

Не работал для меня. Но это, кажется, хорошее решение. Я думаю, у меня есть некоторые другие проблемы, и именно поэтому это решение не работает.
Amir Md Amiruzzaman

214

Необходимое условие:

sudo apt-get install build-essential gfortran libatlas-base-dev python-pip python-dev
sudo pip install --upgrade pip

Актуальные пакеты:

sudo pip install numpy
sudo pip install scipy

Дополнительные пакеты:

sudo pip install matplotlib   OR  sudo apt-get install python-matplotlib
sudo pip install -U scikit-learn
sudo pip install pandas

ЦСИ


2
Примечание: это важно для сборки :)
Энди Хейден,

30
sudo pip installэто не шаблон, который должен включать в себя ответ общего назначения. Обычно вы хотите, чтобы pip installваш виртуальность.
erikbwork

1
Это решило мою проблему, спасибо! Для пользователей Mac libatlas-base-devпоставляется с ОС и gfortranможет быть установлен с помощью пакета ( https://gcc.gnu.org/wiki/GFortranBinariesMacOS )
robodasha

Повторяя erikb85, один должен не быть в привычку sudo pip installING питона LIBS. Используйте virtualenv и virtualenvwrapper . Мой обычный шаблон sudo apt-get install python-pipсопровождается sudo pip install virtualenvwrapper. После этого все уходит в virtualenv.
DanielSank

Также убедитесь, что у вас достаточно памяти (т. c++: internal compiler error: Killed (program cc1plus) error: Command "c++ -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -D__STDC_FORMAT_MACROS=1 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c scipy/sparse/sparsetools/csr_wrap.cxx -o build/temp.linux-x86_64-2.7/scipy/sparse/sparsetools/csr_wrap.o" failed with exit status 4
Е. У

33

В Ubuntu 10.04 (Lucid) я смог успешно pip install scipy(в рамках virtualenv) установить некоторые из его зависимостей, в частности:

$ sudo apt-get install libamd2.2.0 libblas3gf libc6 libgcc1 libgfortran3 liblapack3gf libumfpack5.4.0 libstdc++6 build-essential gfortran libatlas-sse2-dev python-all-dev

5
теперь это «libatlas-base-dev» вместо «libatlas-sse2-dev»
madCode

1
$ sudo apt-get install libamd2.2.0 libblas3gf libc6 libgcc1 libgfortran3 liblapack3gf libumfpack5.4.0 libstdc ++ 6 сборка, необходимая для gfortran libatlas-dev libatlas3-base python python-all-dev gcc g ++ libblas-dev liblapack-dev
elimiste

в Ubuntu 12.04:sudo aptitude install python-scipy
Сиро Сантилли 郝海东 冠状 病 六四 事件 法轮功

14
Лучше, если вы хотите использовать последнюю версию scipy, это сделать, sudo apt-get build-dep python-scipyа затем установить scipy из pip.
Ибрагим

22

Чтобы установить Scipy на Windows, следуйте этим инструкциям:

Шаг 1: Нажмите эту ссылку http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy, чтобы загрузить файл scipy .whl (например, scipy-0.17.0-cp34-none-win_amd64.whl).

Шаг 2: Перейдите в каталог, где находится этот файл загрузки, из командной строки (cd folder-name).

Шаг 3: Запустите эту команду:

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

3
только эта опция мне помогает в Windows
комм

3
Эта опция не работала у меня на Windows7 Cygwin 64bit: scipy-0.17.1-cp27-cp27m-win_amd64.whl не поддерживается колесом на этой платформе.
Никен

@ Ник Я получил то же сообщение. Я думаю, это потому, что ваш экземпляр Python 32-битный. Загрузка и установка "scipy-0.18.1-cp27-cp27m-win32.whl" сработали для меня.
Робин Крамер

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

20

Я перепробовал все вышеперечисленное, и у меня ничего не получалось. Это решило все мои проблемы:

pip install -U numpy

pip install -U scipy

Обратите внимание, что -Uопция pip installзапрашивает обновление пакета . Без него, если пакет уже установлен pip, сообщит вам об этом и выйдет, ничего не делая.


13

Если я сначала установлю BLAS, LAPACK и GCC Fortran в качестве системных пакетов (я использую Arch Linux ), я могу установить SciPy с:

pip install scipy

1
Как вы устанавливаете Blas? «pip install blas» и «apt-get install blas» для меня не сработали.
Эран

@Eran blas - это пакет archlinux. так что вы можете установить через pacman -S blas.
chao787

13

На Fedora это работает:

sudo yum install -y python-pip
sudo yum install -y lapack lapack-devel blas blas-devel 
sudo yum install -y blas-static lapack-static
sudo pip install numpy
sudo pip install scipy

Если public keyпри загрузке вы получаете какие-либо ошибки, добавьте в --nogpgcheckкачестве параметра yum, например: yum --nogpgcheck install blas-devel

На Fedora 23 и более, используйте dnfвместо yum.


В моей виртуальной среде я изменил последние 2 строки предлагаемого решения на следующие строки: установка sudo pip - обновление pip установка sudo pip -U numpy установка sudo pip -U scipy
1man

7

Для пользователей Arch Linux:

pip install --user scipy необходимо установить следующие пакеты Arch:

  • gcc-fortran
  • blas
  • lapack

1
Полезно знать, но это будет лучше, если вы отредактируете или прокомментируете ответ @ user437730.
Райн Эверетт

Как мне установить эти пакеты? т.е. gcc-fortran, blas, lapack
user3731622

3

Аддон для Ubuntu (Ubuntu 10.04 LTS (Lucid Lynx)):

Хранилище перемещено, но

pip install -e git+http://github.com/scipy/scipy/#egg=scipy

не удалось для меня ... С помощью следующих шагов, он, наконец, сработал (как root в виртуальной среде, где python3есть ссылка на Python 3.2.2): установить зависимости Ubuntu (см. elaichi), клонировать NumPy и SciPy:

git clone git://github.com/scipy/scipy.git scipy

git clone git://github.com/numpy/numpy.git numpy

Сборка NumPy (внутри numpyпапки):

python3 setup.py build --fcompiler=gnu95

Установите SciPy (внутри scipyпапки):

python3 setup.py install

3

В моем случае это не работало, пока я не установил следующий пакет: libatlas-base-dev, gfortran

 sudo apt-get install libatlas-base-dev gfortran

Затем запустите pip install scipy


3
  1. установить python-3.4.4
  2. SciPy-0.15.1-win32-СУПЕРПАК-python3.4
  3. применить следующий похвальный документ
py -m pip install --upgrade pip
py -m pip install numpy
py -m pip install matplotlib
py -m pip install scipy
py -m pip install scikit-learn

2

Ответ - да, есть.

Сначала вы можете легко установить команды numpy use:

pip install numpy

Затем вы должны установить mkl, который требуется для Scipy, и вы можете скачать его здесь

После загрузки файла имя_файла вы устанавливаете его

C:\Users\****\Desktop\a> pip install mkl_service-1.1.2-cp35-cp35m-win32.whl
Processing c:\users\****\desktop\a\mkl_service-1.1.2-cp35-cp35m-win32.whl 
Installing collected packages: mkl-service    
Successfully installed mkl-service-1.1.2

Тогда на этом же сайте вы можете скачать scipy-0.18.1-cp35-cp35m-win32.whl

Примечание: вы должны скачать файл file_name.whl в соответствии с вашей версией Python, если ваша версия Python является 32-битной Python3.5, вы должны скачать эту версию, и «win32» относится к вашей версии Python, а не к версии операционной системы.

Затем установите file_name.whl так:

C:\Users\****\Desktop\a>pip install scipy-0.18.1-cp35-cp35m-win32.whl
Processing c:\users\****\desktop\a\scipy-0.18.1-cp35-cp35m-win32.whl
Installing collected packages: scipy
Successfully installed scipy-0.18.1

Тогда есть только одна вещь, которую нужно сделать: закомментировать конкретную строку, или будут сообщения об ошибках при вводе команды "import scipy".

Так закомментируйте эту строку

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

в этом файле: your_own_path \ lib \ site-packages \ scipy__init __. py

Тогда вы можете использовать SciPy :)

Здесь рассказывается больше о последнем шаге.

Вот аналогичный ответ на аналогичный вопрос.


@Tonechas Как насчет этого?
Стэтхэм

1

Помимо всех этих ответов, если вы устанавливаете 32-битную версию Python на свою 64-битную машину, вам необходимо скачать 32-битную версию независимо от вашей машины. http://www.lfd.uci.edu/~gohlke/pythonlibs/ По указанному выше URL-адресу вы можете загрузить пакеты и ввести команду: pip install



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