Nie można zainstalować Scipy przez pip

119

Podczas instalowania scipy przez pip za pomocą:

pip install scipy

Pip nie może zbudować Scipy i zgłasza następujący błąd:

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

Jak mogę pomyślnie zbudować Scipy? Może to być nowy problem z OSX Yosemite, ponieważ właśnie zaktualizowałem i nie miałem wcześniej problemów z instalacją scipy.


Dziennik debugowania:

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
agconti
źródło
Spróbuj użyć 'sudo pip install scipy'
Piotr Dabkowski
@PiotrDabkowski Zainstalowałem Pythona przez homebrew, więc nie powinienem potrzebować sudo. Poza tym, dlaczego sudo miałoby pomagać na etapie budowania? Widzę, jak go używam, jeśli odmówiono pozwolenia lub coś takiego.
agconti
Czy na pewno błąd nie jest spowodowany jakimś problemem z uprawnieniami?
Piotr Dabkowski
Użytkownicy systemu Windows mogą zobaczyć moją odpowiedź tutaj
Statham
Dla Centosu upewnić się u mają LAPACK-devel jeśli nie yum install LAPACK-devel
Divyank shukla

Odpowiedzi:

106

Po otwarciu problemu z zespołem SciPy stwierdziliśmy, że musisz zaktualizować pip za pomocą:

pip install --upgrade pip

A w Python 3tym działa:

python3 -m pip install --upgrade pip

aby SciPy został poprawnie zainstalowany. Czemu? Ponieważ:

Starsze wersje pip muszą używać kół, IIRC z --use-wheel. Lub możesz ulepszyć sam pip, wtedy powinien podnieść koła.

Aktualizacja pip rozwiązuje problem, ale możesz również użyć --use-wheelflagi.

agconti
źródło
11
To zadziałało dla mnie - ale musiałem także zainstalować sugerowane pakiety Luke'asudo apt-get install libatlas-base-dev gfortran
BenB
Musiałem usunąć starą wersję pip przed aktualizacją. Wtedy działało idealnie.
Autonomiczny
1
Ponadto, na mojej idealnie świeżej instalacji 14.04, również musiałemsudo apt-get install python-dev
BenB
90

Użytkownicy systemu Microsoft Windows korzystający z 64-bitowych instalacji Pythona będą musieli pobrać stąd 64-bitową .whlwersję Scipy , a następnie po prostu do folderu, w którym pobrałeś plik i uruchomić:cd.whl

pip install scipy-0.16.1-cp27-none-win_amd64.whl
ConorB
źródło
28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Watchmaker
15
@gugol Być może już tego próbowałeś, ale musisz się upewnić, że liczby po cp pasują do twojej wersji Pythona (np. cp34 = 3.4), a amd64 / win32 jest poprawne.
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.Idę cd do katalogu, próbuję go uruchomić, a następnie pojawia się błąd. Następnie zmieniam nazwę pliku, próbuję go uruchomić, pojawia się kolejny błąd. Metoda nie działa ...
user32882
Widzę ten sam problem co @ user32882. Co takiego robimy źle?
gen.
@gugol Miałem ten sam problem, pomogła mi notatka z @ Cyclotron3x3; -cp27w nazwie pliku odnosi się do wersji Pythona, musiałem znaleźć plik ze -cp36w nazwie pliku do meczu z mojej wersji Pythona 3.6.
Benson
59

Napotykam ten sam problem podczas instalacji Scipy pod Ubuntu.
Musiałem użyć polecenia:

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

Więcej szczegółów można znaleźć tutaj Instalowanie SciPy za pomocą pip
Niestety nie wiem, jak to zrobić w systemie OS X Yosemite.

Chris Cheng
źródło
To rozwiązało problem, który miałem podczas korzystania z „Bash na Ubuntu na Windows 10”.
Coxy
41

W systemie Windows 10 większość opcji nie będzie działać. Wykonaj następujące kroki:

W systemie Windows 10 z CMD, nie można pobrać scipybezpośrednio z większości znanych poleceń podoba wget, cloning scipy github, pip install scipy, etc

Aby zainstalować, przejdź do plików pythonlibs .whl , a jeśli używasz, python 2.7 32 bitpobierz numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whllub jeśli python 2.7 62 bitto pobierznumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

Po pobraniu zapisz pliki pod swoim python directory, w moim przypadku tak byłoc:\>python27

Następnie uruchomić:

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

Uwaga:

  1. scipyPotrzeby numpyjak uzależnienia, więc to dlaczego pobierasz numpyprzed scipy.
  2. cp27w plikach .whl oznacza, że ​​te pliki są przeznaczone python 2.7i cp33oznacza python 3.xspecjalnie> = 3.3
Cyclotron3x3
źródło
To zadziałało jak urok! :) Wypróbowałem wszystkie inne rozwiązania, ale nie powiodło się (Windows 10, Python 2.7 32-bit)
U. Muneeb
To zadziałało dla mnie na win 10 z Python 3.5 i 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
Ta odpowiedź rozwiązała problem w moim przypadku (Windows 8.1), ale musiałem również pobrać i zainstalować numpy + mkl wheel. Zrób to, jeśli po wykonaniu tej odpowiedzi pojawi się błąd ImportError „NUMPY_MKL” podczas próby zaimportowania scipy. Kredyty dla @VMAtm .
Renato Byrro
W przypadku Pythona 3.6.2 w systemie Windows 10 użyjscipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry
Dzięki !, aby korzystać z imread, musiałem również zainstalować Pillow --pip install Pillow
nieograniczone
13

Po znalezieniu odpowiedzi na kilka wskazówek, udało mi się to działając

brew install gcc 
pip install scipy

(Pierwszy z tych kroków zajął 96 minut na moim Mac Book Air z 2011 roku, więc mam nadzieję, że się nie spieszysz!)

Liz Rice
źródło
Właściwie nie byłem w stanie brew install gcc. Skończyło się na tym, że wyrzuciło kilka błędów. Ale po pracy z chłopakami ze Scipy; Znalazłem rozwiązanie. Dziękuję za odpowiedź!
agconti
To faktycznie okazało się dla mnie prostym rozwiązaniem. Koniec końców nie buduj i nie instaluj pobranego zestawu scipy. :)
Sean
To zadziałało dla mnie, a pierwszy krok zajął tylko kilka sekund
André Fratelli
9

Jeśli jesteś zupełnie nowy w Pythonie, przeczytaj krok po kroku lub przejdź bezpośrednio do ostatniego kroku. Postępuj zgodnie z poniższą metodą, aby zainstalować scipy 0.18.1 na 64-bitowym systemie Windows, 64-bitowym Pythonie. Jeśli poniższe polecenie nie działa, przejdź dalej

pip install scipy

Uważaj na wersje

  1. Pyton

  2. Windows

  3. .whl wersja plików numpy i scipy

  4. Najpierw zainstaluj numpy i scipy.

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

Zwróć uwagę na nazwę pliku (sprawdź numer wersji).

Np .: scipy-0.18.1-cp35-cp35m-win_amd64.whl

Aby sprawdzić, która wersja jest obsługiwana przez Twój pip, przejdź do punktu nr 2 poniżej.

Jeśli używasz pliku .whl. Prawdopodobnie wystąpią następujące błędy.

  1. Używasz pip w wersji 7.1.0, jednak dostępna jest wersja 8.1.2.

Powinieneś rozważyć aktualizację za pomocą polecenia „python -m pip install --upgrade pip”

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl nie jest obsługiwane koło na tej platformie

W przypadku powyższego błędu: uruchom Pythona i wpisz:

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

Wynik:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none ',' any '), (' cp3 ',' none ',' any '), (' py35 ',' none ',' any '), (' py3 ',' none ',' any '), ( 'py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', „dowolny”), („py30”, „brak”, „dowolny”)]

Na wyjściu zauważysz, że jest tam cp35, więc pobierz cp35 zarówno dla numpy, jak i scipy. Dalsze edycje są mile widziane.

Arun Naudiyal
źródło
6

Zamiast iść trudniejszą drogą pobierania określonych pakietów. Wolę wybrać szybszą drogę korzystania z Conda. pip ma swoje problemy.

  • Python -v (3.6.0)
  • Windows 10 (64-bitowy)

Conda, zainstaluj condę z: https://conda.io/docs/install/quick.html#windows-miniconda-install

wiersz polecenia

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

Plan pakietu do instalacji w środowisku C: \ Users \ xyz \ Miniconda3:

Zainstalowane zostaną następujące NOWE pakiety:

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

Następujące pakiety zostaną WŁĄCZONE przez kanał o wyższym priorytecie:

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

Kontynuować ([t] / 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
Sandeep Anand
źródło
4

To jest alternatywa dla pip . Miałem też ten sam błąd podczas instalacji scipy z pip.

Następnie pobrałem i zainstalowałem MiniConda . A potem użyłem poniższego polecenia, aby zainstalować pytables.

conda install -c conda-forge scipy

Proszę zapoznać się z poniższym zrzutem ekranu.

wprowadź opis obrazu tutaj

Tharindu Kumara
źródło
3

najlepszą metodą, jaką mogę zasugerować, jest to

  1. Pobierz plik koła z tej lokalizacji dla swojej wersji Pythona

  2. Przenieś plik na dysk główny, np. C:>

  3. Uruchom Cmd i wprowadź następujące dane

    • pip zainstaluj scipy-1.0.0rc1-cp36-none-win_amd64.whl

Proszę zauważyć, że jest to wersja, której używam dla mojego Pyhton 3.6.2, powinna zainstalować się dobrze

możesz chcieć uruchomić to polecenie później, aby upewnić się, że wszystkie dodatki Pythona są aktualne

pip list --outdated
Kobra
źródło
1

Możesz też ręcznie pobrać i uruchomić http://www.lfd.uci.edu/~gohlke/pythonlibs wersję Scipy odpowiednią dla Ciebie. Weź pod uwagę swoją wersję Pythona (python --version) i architekturę systemu (32/64 bit) . Wybierz odpowiednio wersję Scipy. scipy-0.18.1- cp27 -cp27m- win32 - dla Pythona 2.7 32-bitowego scipy-0.18.1- cp27 -cp27m- win_amd64 - dla Pythona 2.7 64 bit W przeciwnym razie błąd scipy-0.15.1-cp33-none-win_amd64.whl .whl nie jest obsługiwany na tej platformie pojawi się podczas instalacji.

Teraz zmień katalog na pobrany plik i wykonaj polecenie pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl(odpowiednio zmień nazwę pliku)

Dodałem tę odpowiedź tylko dlatego, że odpowiedź Aruna (która okazała się przydatna przeze mnie) nie wspomina nic o dopasowywaniu 32/64 bitów, z którymi się spotkałem.

Nipun Thathsara
źródło
0

Jeśli używasz CentOS, musisz zainstalować lapack-devel w następujący sposób:

 $ yum install lapack-devel
Nazilla
źródło
0

Spróbuj pobrać plik scipy z poniższego łącza

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

Będzie to plik .exe i wystarczy go uruchomić. Ale pamiętaj, aby wybrać wersję scipy odpowiadającą twojej wersji Pythona.

Po uruchomieniu pliku scipy.exe zlokalizuje on katalog języka Python i zostanie zainstalowany.

u_found_me
źródło
0

Miałem ten sam problem i udało mi się użyć sudo.

$ sudo pip install scipy
Zico
źródło
0

Najłatwiej jest w następujących krokach: Naprawianie scipy dla Pythona [2.n <python <3.n]

Pobierz niezbędne pliki z: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Pobierz wersję numpy + mkl (potrzebną do uruchomienia scipy), a następnie pobierz scipy dla swojego typu Pythona (2.n python zapisane jako 2n) lub (3.n python zapisane jako 3n), n jest zmienną. Pamiętaj, że musisz wiedzieć, czy masz procesor 32-bitowy czy 64-bitowy.

Utwórz katalog gdzieś na swoim komputerze, na przykład [C: \ DIRECTORY], aby zainstalować pliki numpy + mkd.whl i scipy.whl

Po pobraniu obu plików znajdź lokalizację pliku na komputerze i przenieś go do utworzonego katalogu.

Przykład: potrzebna jest pierwsza instalacja pliku, ponieważ scipy jest w

C: \ KATALOG \ numpy \ numpy-0.0.0 + mkl-cp2n-cp2nm-win_amd32.whl

Przykład: trwa instalacja drugiego pliku

C: \ KATALOG \ scipy \ scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

Przejdź do wiersza poleceń i postępuj zgodnie z następującym przykładem dla języka Python w wersji 2.n:

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

powinien zainstalować

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

powinien zainstalować

Przetestuj oba moduły na swoim Pythonie IDLE w następujący sposób:

import numpy

import scipy

moduły działają, jeśli nie są zwracane żadne błędy.

IFDAAS

Grupa Ifdaas
źródło
Czy ta odpowiedź jest specyficzna dla systemu Windows, ponieważ pytający jest w systemie OS X Yosemite?
Ari Cooper-Davis
0

W przypadku systemu Windows (w moim przypadku 7):

  1. pobierz scipy-0.19.1-cp36-cp36m-win32.whl z http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. utwórz jeden plik some.bat z zawartością

    @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. następnie uruchom ten plik wsadowy some.bat

  4. wywołaj powłokę Pythona „C: \ Python36 \ pythonw.exe” C: \ Python36 \ Lib \ idlelib \ idle.pyw ”i sprawdź, czy scipy został zainstalowany z

import scipy

Ion Stefanache
źródło
PS: Mam kilka wersji Phytona (2.7,3.5 i 3.6) zainstalowanych na tym samym komputerze pod Windows 7
Ion Stefanache
0

Prosty sposób na zainstalowanie Scipy w systemie Windows 10 w 100% jest następujący: po prostu pip this ====> pip install scipy==1.0.0rc2

Podziękujesz mi później :)

George C.
źródło
Składnia jest nieprawidłowa
user2063329
user2063329 Wypróbuj pip3
George C.
0

Doświadczyłem podobnych problemów w Pythonie 3.7 (3.7.0b4). Było to spowodowane pewnymi zmianami dotyczącymi niektórych założeń dotyczących kodowania (Python 3.6 >> Python 3.7)

W rezultacie wiele instalacji pakietów (np. Przez pip) nie powiodło się.

holzkohlengrill
źródło
0

Możesz przetestować tę odpowiedź:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
Farshid Shekari
źródło