Instalowanie SciPy i NumPy za pomocą pip

157

Próbuję utworzyć wymagane biblioteki w dystrybuowanym pakiecie. Wymaga obu bibliotek SciPy i NumPy . Podczas programowania zainstalowałem oba przy użyciu

apt-get install scipy

który zainstalował SciPy 0.9.0 i NumPy 1.5.1 i działał dobrze.

Chciałbym zrobić to samo używając pip install- aby móc określić zależności w setup.py mojego własnego pakietu.

Problem w tym, że kiedy próbuję:

pip install 'numpy==1.5.1'

to działa dobrze.

Ale wtedy

pip install 'scipy==0.9.0'

zawiedzie żałośnie, z

raise self.notfounderror(self.notfounderror.__doc__)

numpy.distutils.system_info.BlasNotFoundError:

Blas (http://www.netlib.org/blas/) libraries not found.

Directories to search for the libraries can be specified in the

numpy/distutils/site.cfg file (section [blas]) or by setting

the BLAS environment variable.

Jak sprawić, żeby to działało?

eran
źródło
Hmm, czy na pewno pip działa dobrze z numpy=1.5.1zamiast numpy==1.5.1(double równa się)?
Hugo Tavares,
Używam podwójnych równych, to była literówka. Po prostu wpisałem go tutaj zamiast kopiować wklej :)
eran
5
Oprócz blas i lapack musisz zainstalować blas-develi lapack-devel. Nie jest to określone w dokumencie, ale należy to zrobić, jeśli chcesz zainstalować za pomocą PIP.
Iñigo Hernáez Corres
@ IñigoHernáezCorres (blas-devel i lapack-devel) są również YUMable, jak się dowiedziałem, dla tych z nas, którzy korzystają z amazon-linux.
Tommy

Odpowiedzi:

34

W mojej odpowiedzi zakładam doświadczenie w Linuksie; Odkryłem, że są trzy warunki wstępne, aby pip install scipydobrze działać.

Idź tutaj: Instalowanie SciPY

Postępuj zgodnie z instrukcjami, aby pobrać, skompilować i wyeksportować zmienną env dla BLAS, a następnie LAPACK . Uważaj, aby nie tylko ślepo wycinać i wklejać polecenia powłoki - będzie kilka linii, które musisz wybrać w zależności od architektury itp., I będziesz musiał naprawić / dodać prawidłowe katalogi, które nieprawidłowo zakłada jako dobrze.

Trzecią rzeczą, której możesz potrzebować, jest zainstalowanie yum numpy-f2py lub odpowiednika.

Och, tak i na koniec, może być konieczne zainstalowanie programu yum gcc-gfortran, ponieważ powyższe biblioteki są źródłami języka Fortran .

David Kierans
źródło
instrukcje, które utworzyłeś w Instalowaniu SciPy , zostały usunięte, być może prowadzą tutaj teraz scipy.org/scipylib/building/windows.html
jxramos
30
-1; ta odpowiedź stała się bezużyteczna z powodu zerwania łącza. Podstawą odpowiedzi jest „postępuj zgodnie z instrukcjami” pod linkiem, ale strona uległa zmianie i już ich tam nie ma. Ponadto pytający używał systemu operacyjnego apt-getjako swojego menedżera pakietów, ale ta odpowiedź używa yum. Nie ma nic złego w udzielaniu odpowiedzi obejmujących dodatkowe platformy, ale powinny one być oznaczone jako takie; w przeciwnym razie będzie to niepotrzebnie mylące dla noobów Uniksa.
Mark Amery,
5
Aby zainstalować BLAS i LAPACK, musisz uruchomićyum install lapack-devel.x86_64 blas-devel.x86_64
Max L
331

To działało dla mnie na Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy
vk1011
źródło
4
Instalacja libblas-dev liblapack-devrozwiązana, blasale potem otrzymałem, error: library dfftpack has Fortran sources but no Fortran compiler foundwięc potrzebowałem tych wszystkich, aby móc zainstalować scipy. Dziękuję Ci.
naoko
6
Po prostu instaluję libblas-dev liblapack-dev gfortran, działa dla mnie na Ubuntu14.04
Jin
libblas było powodem błędu - nie znaleziono zasobów lapack / blas
Oleg Abrazhaev
1
Amen za niezaakceptowane odpowiedzi, które działają lepiej niż te zaakceptowane.
Felipe Almeida
for yum: yum install blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail
76

potrzebujesz pakietów deweloperskich libblas i liblapack, jeśli używasz Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy
Chris Montanaro
źródło
13

Ponieważ poprzednie instrukcje instalacji za pomocą yum są zepsute, tutaj zaktualizowane instrukcje instalacji na czymś takim jak fedora. Przetestowałem to na „Amazon Linux AMI 2016.03”

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy
Greg
źródło
6

Pracowałem nad projektem, który polegał na numpy i scipy. W czystej instalacji Fedory 23, używając wirtualnego środowiska Pythona dla Pythona 3.4 (działało również dla Pythona 2.7), a także z poniższym w moim setup.py (w setup()metodzie)

setup_requires=[
    'numpy',
],
install_requires=[
    'numpy',
    'scipy',
],

Odkryłem, że muszę wykonać następujące czynności, aby dostać się pip install -e .do pracy:

pip install --upgrade pip

i

sudo dnf install atlas-devel gcc-{c++,gfortran} subversion redhat-rpm-config

redhat-rpm-configJest do stosowania scipy dnia redhat-hardened-cc1, w przeciwieństwie do regularnychcc1

Johann
źródło
3

W systemie Windows python 3.5 udało mi się zainstalować scipyza pomocą conda nie pip :

conda install scipy
CONvid19
źródło
2

Co to za system operacyjny? Odpowiedź może zależeć od używanego systemu operacyjnego. Wygląda jednak na to, że musisz znaleźć tę bibliotekę BLAS i zainstalować ją. Wygląda na to, że nie jest w PIP (w związku z tym będziesz musiał to zrobić ręcznie), ale jeśli go zainstalujesz, powinien umożliwić ci postęp w instalacji SciPy.

Shayne
źródło
To ubuntu 11.10. Próbowałem, to jest dokładnie mój problem. Co to jest biblioteka i jak ją zdobyć?
eran
25
Na Ubuntu możesz zrobić np. sudo apt-get install liblapack-dev libatlas-devPlus, być może także, python-dev gfortranjeśli ich brakuje.
pv.
2
Nie napisałem tego posta! Co za cholera?
Shayne,
0

w moim przypadku aktualizacja pip załatwiła sprawę. Ponadto zainstalowałem scipy z parametrem -U (zaktualizuj wszystkie pakiety do ostatniej dostępnej wersji)

dupa
źródło