Tidak dapat menginstal Scipy melalui pip

119

Saat memasang scipy melalui pip dengan:

pip install scipy

Pip gagal membangun scipy dan menampilkan kesalahan berikut:

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

Bagaimana saya bisa mendapatkan scipy untuk membangun dengan sukses? Ini mungkin masalah baru dengan OSX Yosemite karena saya baru saja memutakhirkan dan belum pernah mengalami masalah saat memasang scipy sebelumnya.


Log debug:

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
sumber
Coba gunakan 'sudo pip install scipy'
Piotr Dabkowski
@PiotrDabkowski Saya menginstal python melalui homebrew jadi saya tidak perlu menggunakan sudo. Juga, mengapa sudo membantu dalam langkah membangun? Saya dapat melihat menggunakannya jika izin ditolak atau sesuatu.
agconti
Apakah Anda yakin kesalahan tersebut bukan disebabkan oleh masalah izin?
Piotr Dabkowski
Pengguna Windows dapat melihat jawaban saya di sini
Statham
Untuk Centos, pastikan Anda memiliki lapack-devel jika tidak, yum install lapack-devel
Divyank Shukla

Jawaban:

106

Setelah membuka masalah dengan tim SciPy, kami menemukan bahwa Anda perlu mengupgrade pip dengan:

pip install --upgrade pip

Dan dalam Python 3karya ini:

python3 -m pip install --upgrade pip

agar SciPy dapat diinstal dengan benar. Mengapa? Karena:

Versi pip yang lebih lama harus diberitahu untuk menggunakan roda, IIRC dengan --use-wheel. Atau Anda dapat mengupgrade pip itu sendiri, maka itu harus mengambil roda.

Mengupgrade pip menyelesaikan masalah, tetapi Anda mungkin bisa menggunakan --use-wheelflag juga.

agconti
sumber
11
Ini berhasil untuk saya - tetapi saya juga harus menginstal paket yang disarankan Lukesudo apt-get install libatlas-base-dev gfortran
BenB
Saya harus menghapus pip versi lama sebelum meningkatkan. Kemudian itu bekerja dengan sempurna.
Otonom
1
Selain itu, pada penginstalan 14,04 yang benar-benar segar, saya juga harussudo apt-get install python-dev
BenB
90

Pengguna Microsoft Windows dari penginstalan Python 64 bit perlu mengunduh .whlScipy 64 bit dari sini , lalu cukupcd ke folder tempat Anda mengunduh .whlfile dan menjalankan:

pip install scipy-0.16.1-cp27-none-win_amd64.whl
ConorB
sumber
28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Watchmaker
15
@gugol Mungkin Anda sudah mencoba ini tetapi Anda harus memastikan nomor setelah cp cocok dengan versi python Anda (misalnya cp34 = 3.4) dan amd64 / win32 sudah benar.
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.Saya cd ke direktori mencoba menjalankannya kemudian mendapatkan kesalahan ,. Kemudian saya mengubah nama file mencoba menjalankannya mendapatkan kesalahan lain. Metode tidak berhasil ...
user32882
Saya melihat masalah yang sama dengan @ user32882. Apa yang salah kita lakukan?
gen
@gugol Saya memiliki masalah yang sama, catatan dari @ Cyclotron3x3 membantu saya; yang -cp27dalam nama file mengacu pada versi python, aku harus menemukan file dengan -cp36nama file untuk mencocokkan dengan versi saya Python: 3.6.
Benson
59

Saya menghadapi masalah yang sama saat menginstal Scipy di ubuntu.
Saya harus menggunakan perintah:

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

Anda bisa mendapatkan detail lebih lanjut di sini Menginstal SciPy dengan pip
Maaf tidak tahu bagaimana melakukannya di bawah OS X Yosemite.

Chris Cheng
sumber
Ini memecahkan masalah saya menggunakan "Bash di Ubuntu pada Windows 10".
Coxy
41

Di windows 10, sebagian besar opsi tidak akan berfungsi. Ikuti langkah ini:

Pada Windows 10 dengan CMD, Anda tidak dapat men-download scipylangsung menggunakan sebagian besar perintah terkenal seperti wget, cloning scipy github, pip install scipy, dll

Untuk menginstal, buka file pythonlibs .whl , dan jika Anda menggunakan python 2.7 32 bitmaka unduh numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlatau jika python 2.7 62 bitkemudian unduhnumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

Setelah mengunduh, simpan file di bawah Anda python directory, dalam kasus saya ituc:\>python27

Lalu lari:

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

catatan:

  1. scipykebutuhan numpysebagai ketergantungan, jadi itulah mengapa kami mengunduh numpysebelumnya scipy.
  2. cp27dalam file .whl berarti bahwa file-file ini dimaksudkan python 2.7dan cp33singkatan secara python 3.xspesifik> = 3.3
Cyclotron3x3
sumber
Ini bekerja dengan sangat baik! :) Mencoba semua solusi lain tetapi gagal (Windows 10, Python 2.7 32-bit)
U. Muneeb
Ini berhasil bagi saya pada win 10 dengan instalasi pip mesin Python 3.5 dan 64b numpy-1.13.1 + mkl-cp35-cp35m-win_amd64.whl pip install numpy-1.13.1 + mkl-cp35-cp35m-win_amd64.whl
vlad
Jawaban ini memecahkan masalah dalam kasus saya (Windows 8.1), tetapi saya juga perlu mengunduh dan menginstal roda numpy + mkl . Lakukan ini jika Anda mendapatkan ImportError "NUMPY_MKL" saat mencoba mengimpor scipy setelah mengikuti jawaban ini. Kredit untuk @VMAtm .
Renato Byrro
Untuk Python 3.6.2 pada penggunaan Windows 10scipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry
Terima kasih !, untuk menggunakan imread saya perlu menginstal Pillow juga --pip install Pillow
unlimited
13

Setelah menemukan jawaban ini untuk beberapa petunjuk, saya mendapatkan ini bekerja dengan melakukan

brew install gcc 
pip install scipy

(Langkah pertama ini memakan waktu 96 menit pada Mac Book Air 2011 saya, jadi saya harap Anda tidak terburu-buru!)

Liz Rice
sumber
Saya sebenarnya tidak bisa brew install gcc. Itu akhirnya menimbulkan banyak kesalahan. Tapi setelah bekerja dengan orang-orang Scipy; Saya menemukan solusi. Terima kasih atas jawaban anda!
agconti
Ini ternyata menjadi solusi langsung bagi saya. Akhirnya tidak membangun dan menginstal kit scipy yang diunduh. :)
Sean
Ini berhasil bagi saya, dan hanya butuh beberapa detik untuk langkah pertama
André Fratelli
9

Jika Anda benar-benar baru mengenal python, baca langkah demi langkah atau langsung ke langkah terakhir. Ikuti metode di bawah ini untuk menginstal scipy 0.18.1 pada Windows 64-bit, Python 64-bit. Jika perintah di bawah ini tidak berfungsi, lanjutkan lebih jauh

pip install scipy

Hati-hati dengan versi

  1. Python

  2. Windows

  3. .whl dari file numpy dan scipy

  4. Pertama instal numpy dan scipy.

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

Perhatikan nama file (periksa nomor versi).

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

Untuk memeriksa versi mana yang didukung oleh pip Anda, lihat poin No 2 di bawah ini.

Jika Anda menggunakan file .whl. Kesalahan berikut mungkin terjadi.

  1. Anda menggunakan pip versi 7.1.0, namun versi 8.1.2 tersedia.

Anda harus mempertimbangkan untuk mengupgrade melalui perintah 'python -m pip install --upgrade pip'

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl tidak didukung roda pada platform ini

Untuk kesalahan di atas: mulai Python dan ketik:

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

Keluaran:

[('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', 'any'), ('py30', 'none', 'any')]

Pada keluaran Anda akan melihat cp35 ada di sana, jadi unduh cp35 untuk numpy dan juga scipy. Pengeditan lebih lanjut dipersilahkan.

Arun Naudiyal
sumber
6

Daripada menempuh rute yang lebih sulit untuk mengunduh paket tertentu. Saya lebih suka menempuh rute yang lebih cepat dengan menggunakan Conda. pip memiliki masalahnya.

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

Conda, instal conda dari: https://conda.io/docs/install/quick.html#windows-miniconda-install

prompt perintah

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

Paket rencana penginstalan di lingkungan C: \ Users \ xyz \ Miniconda3:

Paket BARU berikut akan DIINSTAL:

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

Paket berikut akan DIAWASI oleh saluran dengan prioritas lebih tinggi:

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

Lanjutkan ([y] / 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
sumber
4

Ini adalah alternatif pip . Saya juga mengalami kesalahan yang sama saat menginstal scipy dengan pip.

Kemudian saya mengunduh dan menginstal MiniConda . Dan kemudian saya menggunakan perintah di bawah ini untuk menginstal pytables.

conda install -c conda-forge scipy

Silakan lihat gambar di bawah ini.

masukkan deskripsi gambar di sini

Tharindu Kumara
sumber
3

metode terbaik yang bisa saya sarankan adalah ini

  1. Unduh file roda dari lokasi ini untuk versi python Anda

  2. Pindahkan file ke Drive Utama Anda misalnya C:>

  3. Jalankan Cmd dan masukkan yang berikut ini

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

Harap dicatat bahwa ini adalah versi yang saya gunakan untuk pyhton 3.6.2 saya yang seharusnya diinstal dengan baik

Anda mungkin ingin menjalankan perintah ini setelahnya untuk memastikan semua pengaya python Anda mutakhir

pip list --outdated
Kobra
sumber
1

Atau, unduh dan jalankan secara manual http://www.lfd.uci.edu/~gohlke/pythonlibs versi Scipy yang sesuai untuk Anda. Pertimbangkan versi Python Anda (python --version) dan arsitektur sistem Anda (32/64 bit) . Pilih versi Scipy yang sesuai. scipy-0.18.1- cp27 -cp27m- win32 - untuk Python 2.7 32 bit scipy-0.18.1- cp27 -cp27m- win_amd64 - untuk Python 2.7 64 bit Jika tidak kesalahan scipy-0.15.1-cp33-none-win_amd64.whl .whl tidak didukung roda pada platform ini akan muncul saat instalasi.

Sekarang ubah direktori ke file yang diunduh dan jalankan perintah pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl (ubah nama file dengan benar)

Saya telah menambahkan jawaban ini hanya karena jawaban Arun (ditemukan berguna oleh saya sendiri) belum menyebutkan apa pun tentang pencocokan 32/64 bit yang saya hadapi.

Nipun Thathsara
sumber
0

Jika Anda menggunakan CentOS, Anda perlu menginstal lapack-devel seperti ini:

 $ yum install lapack-devel
Nazilla
sumber
0

Coba unduh file scipy dari tautan di bawah ini

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

Ini akan menjadi file .exe dan Anda hanya perlu menjalankannya. Tetapi pastikan untuk memilih versi scipy yang sesuai dengan versi python Anda.

Ketika file scipy.exe dijalankan, itu akan menemukan direktori python dan akan diinstal.

u_found_me
sumber
0

Saya mengalami masalah yang sama, dan saya berhasil menggunakannya sudo.

$ sudo pip install scipy
Zico
sumber
0

Cara termudah adalah dengan langkah-langkah berikut: Memperbaiki scipy untuk python [2.n <python <3.n]

Unduh file yang diperlukan dari: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Unduh versi numpy + mkl (diperlukan untuk menjalankan scipy) dan kemudian unduh scipy untuk jenis python Anda (2.n python ditulis sebagai 2n) atau (3.n python ditulis sebagai 3n), n adalah variabel. Catatan Anda harus tahu apakah Anda memiliki prosesor 32bit atau 64bit.

Buat direktori di suatu tempat di komputer Anda, contoh [C: \ DIRECTORY] untuk menginstal file numpy + mkd.whl dan scipy.whl

Setelah kedua file diunduh, cari lokasi file di komputer Anda dan pindahkan ke direktori yang Anda buat.

Contoh: Instalasi file pertama diperlukan untuk scipy in

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

Contoh: Instalasi file kedua dalam format

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

Buka command prompt Anda dan lanjutkan contoh berikut untuk python versi 2.n:

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

harus menginstal

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

harus menginstal

Uji kedua modul pada python IDLE Anda sebagai berikut:

import numpy

import scipy

modul bekerja jika tidak ada kesalahan yang dikembalikan.

IFDAAS

Ifdaas Group
sumber
Apakah jawaban ini khusus untuk Windows, karena penanya ada di OS X Yosemite?
Ari Cooper-Davis
0

Untuk windows (7 dalam kasus saya):

  1. unduh scipy-0.19.1-cp36-cp36m-win32.whl dari http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. buat satu file some.bat dengan konten

    @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. kemudian jalankan file batch ini some.bat

  4. panggil python shell "C: \ Python36 \ pythonw.exe" C: \ Python36 \ Lib \ idlelib \ idle.pyw "dan uji apakah scipy diinstal dengan

impor scipy

Ion Stefanache
sumber
PS: Saya memiliki beberapa versi Phyton (2.7,3.5 dan 3.6) yang diinstal pada komputer yang sama di bawah windows 7
Ion Stefanache
0

Cara mudah untuk menginstal scipy pada Windows 10 100% adalah ini: Cukup pip this ====> pip install scipy==1.0.0rc2

Terima kasih nanti :)

George C.
sumber
Sintaks tidak valid
pengguna2063329
user2063329 Coba pip3
George C.
0

Saya mengalami masalah serupa dengan Python 3.7 (3.7.0b4). Ini karena beberapa perubahan terkait beberapa asumsi pengkodean (Python 3.6 >> Python 3.7)

Akibatnya banyak instalasi paket (misalnya via pip) gagal.

holzkohlengrill
sumber
0

Anda dapat menguji jawaban ini:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
Farshid Shekari
sumber