2009-10-04 71 views
63

如何在我的系統上安裝SciPy?如何在64位Windows上安裝SciPy?

對於NumPy部分(即SciPy依賴),實際上有一個用於64位Windows的安裝程序:numpy-1.3.0.win-amd64-py2.6.msi(是直接下載URL,2310144字節)。

運行在此 消息SciPy的superpack安裝程序導致一個對話框:

無法安裝。需要Python版本2.6,這在註冊表中找不到。

我已經安裝了Python 2.6.2(以及一個正在運行的Django安裝 ),但我不知道任何註冊表故事。

的條目似乎是註冊表已經存在:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Help] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Help\Main Python Documentation] 
@="D:\\Python262\\Doc\\python262.chm" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath] 
@="D:\\Python262\\" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath\InstallGroup] 
@="Python 2.6" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\Modules] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\PythonPath] 
@="D:\\Python262\\Lib;D:\\Python262\\DLLs;D:\\Python262\\Lib\\lib-tk" 

我迄今所做的:

步驟1

下載的NumPy的superpack安裝 numpy的-1.3 .0rc2-win32-superpack-python2.6.exe (direct download URL,4782592 by TES)。運行此安裝程序 導致了「無法安裝。Python 版本2.6所需的相同的消息,這在註冊表中找不到。」。 更新:實際上NumPy的安裝程序有效 - 請參閱問題的開頭部分。

步驟2

試圖以另一種方式來安裝NumPy的。下載的壓縮 包numpy-1.3.0rc2.zip(direct download URL,2404011個字節), 萃取以正常方式zip文件到一個臨時目錄 ,d:\ temp7 \ numpy的-1.3.0rc2(其中setup.py和 README.txt是)。然後我打開一個命令行窗口,然後:

d: 
cd D:\temp7\numpy-1.3.0rc2 
setup.py install 

這跑了很長一段時間,也包括使用cl.exe時 (Visual Studio中的一部分)。這裏有近5000行的長度 transcript(230 KB)。

這似乎工作。我現在可以做到這一點在Python:

import numpy as np 
np.random.random(10) 

這個結果:

array([ 0.35667511, 0.56099423, 0.38423629, 0.09733172, 0.81560421, 
     0.18813222, 0.10566666, 0.84968066, 0.79472597, 0.30997724]) 

步驟3

下載SciPy的superpack安裝,SciPy的-0.7.1rc3- Win32的superpack -python2.6.exe(direct download URL,45597175 字節)。運行該安裝程序導致年初

步驟4

試圖以另一種方式來安裝SciPy的上市消息 英寸下載zip 包scipy-0.7.1rc3.zip(direct download URL,5506562 字節),以正常的方式解壓縮到臨時目錄D:\ temp7 \ scipy-0.7.1(其中setup.py 和README.txt是)。然後我打開一個命令行窗口,然後:

d: 
cd D:\temp7\scipy-0.7.1 
setup.py install 

這並沒有取得太大的 - 這裏是一個transcript(約95 線)。

而失敗:

>>> import scipy as sp2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named scipy 

平臺:Python的2.6.2安裝在目錄d:\ Python262, Windows XP 64位SP2中,8 GB RAM,Visual Studio 2008的 專業版安裝。

安裝的Python的啓動畫面是:

Python 2.6.2 (r262:71605, Apr 14 2009, 22:46:50) [MSC v.1500 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

路徑值,從SET導致命令行窗口:

Path=D:\Perl64\site\bin;D:\Perl64\bin;C:\Program Files (x86)\PC Connectivity Solution\;D:\Perl\site\bin;D:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;d:\Program Files (x86)\WinSCP\;D:\MassLynx\;D:\Program Files (x86)\Analyst\bin;d:\Python262;d:\Python262\Scripts;D:\Program Files (x86)\TortoiseSVN\bin;D:\Program Files\TortoiseSVN\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0;D:\Program Files (x86)\IDM Computer Solutions\UltraEdit\ 
+0

還有很多其他的包的位置:http://www.lfd.uci.edu/~gohlke/pythonlibs/,但我沒有看到一個名爲「SciPy的」。我看到「ScientificPython」和SciPy子包,但不是SciPy本身。這是否意味着它在3個月後仍然不可用,還是我錯過了一些東西? – endolith

+0

@endolith https://pypi.python.org/pypi/scipy/0.7.0 – Inversus

+0

@Inversus:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy – endolith

回答

1

我還沒有嘗試過,但您可能要下載this versionPortable Python。它帶有在Python 2.5.4上運行的Scipy-0.7.0b1。

+0

謝謝!它工作的很好,並且是迄今爲止最簡單的方式來使它工作(雖然它是一個32位版本,因此不是64位版本的SciPy)。它不會與現有的64位版本的Python安裝混淆。 –

+7

儘管它解決了他的問題,但它並沒有完全回答這個問題...... – Girardi

+0

對於Python 3,可以使用大致相同的版本[這裏](http://portablepython.com/wiki/PortablePython3.2.5.1/) – Gaffi

2

嘗試通過您的2.6安裝Python 2.6.3 .2(這也應該添加正確的註冊表項),或註冊您現有的安裝using this script。安裝程序應該在那之後工作。

構建SciPy需要Fortran編譯器和庫 - BLASLAPACK

+0

當我運行Fredrik Lundh的腳本時,我得到:「***無法註冊!***您可能有另一個Python安裝!」。我用我的系統上的註冊表項更新了這個問題。 (一些變量是:pythonpath:'d:\\ Python262; d:\\ Python262 \\ Lib \\; d:\\ Python262 \\ DLLs \\',regpath:'SOFTWARE \\ Python \\ Pythoncore \ \ 2.6 \\')。 –

+0

如果存在'HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.6 \',那麼嘗試刪除它並重新運行它。另外 - 你運行它有足夠的特權? –

+0

我試了一下,得到:「--- Python 2.6現在註冊!」。但運行scipy-0.7.1rc3-win32-superpack-python2.6.exe時的結果相同。預計它將在64位版本的Python上工作嗎? (是的,我有太多的特權:-)(管理員)。我知道我不應該出於安全原因。) –

6

至於SciPy的成績單告訴你,SciPy的是不是真的應該Win64上工作:

Warning: Windows 64 bits support is experimental, and only available for 
testing. You are advised not to use it for production. 

所以我建議安裝Python的32位版本,並停止試圖建立SciPy的你自己。如果您仍然想嘗試,您首先需要編譯BLAS和LAPACK,正如PiotrLegnica所說。查看文字記錄,瞭解它正在尋找這些庫的編譯版本的地方。

+0

NumPy(至少v1.5.1)不再提供此警告。 –

32

簡答:Windows 64位支持目前仍在進行中。這個superpack肯定不適用於64位的Python(但它應該可以在32位Python上運行,即使在Windows 64位上也是如此)。

Windows 64位的主要問題是使用mingw-w64編譯此時並不穩定:它可能是我們的(NumPy開發人員)錯誤,Python的錯誤或mingw-w64。最可能的是所有這些:)的組合。所以你必須使用專有的編譯器:除了Microsoft編譯器以外的任何其他東西隨機崩潰NumPy;對於Fortran編譯器,ifort是要使用的。截至今天,NumPy和SciPy源代碼都可以通過視覺編碼  Studio   2008和ifort(所有測試都通過),但構建它仍然相當痛苦,並且NumPy構建基礎結構沒有很好的支持。

+4

任何想法什麼時候會準備好? – endolith

+0

Enthought提供64位版本的EPD,可免費用於學術用途(他們支持win64端口),並使用MKL來提高速度。還有另外一組非官方的二進制文件,鏈接如下 –

+2

64位是否可用於學術用途?這將是很大的 - 從網站看起來只有32位是免費的。 – robince

63

非官方的NumPySciPy 64位安裝程序可在http://www.lfd.uci.edu/~gohlke/pythonlibs/

確保您下載&安裝的軟件包(亦稱輪)符合您CPython版本和bitness(即cp35 = Python的V3是。; win_amd64 = x86_64)。

你會想要先安裝NumPy;從具有管理員權限的命令提示符的系統範圍(又名程序文件)安裝:

C:\>pip install numpy‑<version>+mkl‑cp<ver-spec>‑cp<ver-spec>m‑<cpu-build>.whl 

或者包括--user標誌,安裝到當前用戶的應用程序文件夾(通常%APPDATA%\Python上Windows中)從非管理員 CMD提示:

C:\>pip install --user numpy‑<version>+mkl‑cp<ver-spec>‑cp<ver-spec>m‑<cpu-build>.whl 

然後做同樣SciPy的:

C:\>pip install [--user] scipy‑<version>‑cp<ver-spec>‑cp<ver-spec>m‑<cpu-build>.whl 

不要忘記更換<version><ver-spec>,並且<cpu-build>適當,如果你複製粘貼&任何這些例子。此外,您必須使用上述ifd.uci.edu鏈接中的numpy & scipy軟件包(否則如果嘗試混合&匹配不兼容的軟件包 - 先卸載任何衝突的軟件包即[pip list]),將會出錯。

+7

這似乎是爲我工作! – endolith

3

爲了完整:Enthought有一個包含SciPy的Python發行版;但是,這不是免費的。警告:我從來沒有用過它。

更新:這個答案早已忘記,直到upvote把我帶回來。這時,我會免費撥打Anacondaendolith's suggestion

0

我在32位機器上遇到了同樣的錯誤。我固定它通過註冊我的Python安裝,使用腳本在:

http://effbot.org/zone/python-register.htm

這有可能是腳本也將使64位superpack安裝工作。

5

WinPython是一個開源分佈,具有64位NumPy和SciPy。

2

在Windows上獨立安裝這些Python數據科學軟件包是非常糟糕的。嘗試Anaconda(一個安裝程序,400多個Python軟件包,py2 & py3支持)。水蟒真的幫了我很多!

2

我在64位Windows   8.1機器上有32位Python 3.5。我只是幾乎在堆棧上找到幾乎所有的方法 溢出,沒有人工作!

然後在here我找到了。它說:

SciPy是數學,科學和工程軟件。

需要numpy + mkl。

在安裝scipy之前安裝numpy + mkl。

mkl事項!!但之前沒有人對此說過任何話!

然後我安裝MKL:

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的:

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 

它的工作〜是啊:)

一個小竅門:你可以只是谷歌「whl_file_name.whl 「要知道在哪裏下載〜:)

更新:

完成所有這些步驟後,您會發現您仍然無法在Python中使用SciPy   3。如果你打印「導入scipy」,你會發現有錯誤信息,但不用擔心,只有一件事要做。 Here - 只是註釋掉該行,簡單而有用。

from numpy._distributor_init import NUMPY_MKL 

我保證,這是做:)

Enter image description here

PS的最後一件事:所有這些步驟之前,你最好先安裝NumPy的。這是非常簡單的使用這個命令:

pip install numpy 
0

好很多已經說了,但萬一沒有以前的答案的工作,你可以嘗試;

https://www.scipy.org/install.html

據他們介紹;

對於大多數用戶來說,特別是在Windows,安裝SciPy的堆棧的軟件包的最簡單的方法就是下載這些的Python 分佈,其中包括所有關鍵的包之一:

  • Anacond: A SciPy堆棧的免費發行。支持Linux,Windows和 Mac。
  • Enthought Canopy:免費和商業版本 包括核心SciPy堆棧包。支持Linux,Windows和 Mac。
  • Python(x,y)免費發佈,包括基於Spyder IDE的SciPy 堆棧。僅限Windows。
  • WinPython:A 包括SciPy堆棧在內的免費發行。僅限Windows。
  • Pyzo:基於Anaconda和IEP interactive 開發環境的免費發行版。支持Linux,Windows和Mac。

對我來說,Anaconda確實解決了這個問題。請記住在下載之前檢查一下(32/64位)版本,並重新將您的編譯器調整爲使用您正在安裝的Python發行版安裝的Python實現。

0

Okey,在這裏我將分享我在Windows PC上安裝SciPy而不使用命令行的操作。

我的電腦配置是Windows 7 64位和Python 2。7

  • 首先我下載所需要的軟件包形成http://www.lfd.uci.edu/~gohlke/pythonlibs/(哪個版本匹配您的配置EX:cp27 ==> python2.7 & CP35 ==> 3.5)
  • 我解壓使用7-Zip文件(也可用於像WinRAR任何拉鍊)
  • 第三我複製我萃取scipy文件夾並將其粘貼到C:\Python27\Lib\site-packages(或把它放在準確的位置是在你的電腦像..\..\Lib\site-packages

注:必須以同樣的方式安裝SciPy的前安裝NumPy的第一

0

我在幾天後發現這個解決方案。

首先,您要安裝哪個Python版本?

如果你想爲Python 2.7版本:

STEP 1:

SciPy的-0.19.0-cp27-cp27m-win32.whl

SciPy的-0.19。 0-cp27-cp27m-win_amd64.whl

numpy-1.11.3 + mkl-cp27-cp27m-win32.whl

numpy的-1.11.3 + MRL-cp27-cp27m-win_amd64.whl

如果你想爲Python 3.4版本:

SciPy的-0.19.0-CP34-cp34m-win32的。 WHL

SciPy的-0.19.0-CP34-cp34m-win_amd64.whl

numpy的-1.11.3 + MKL-CP34-cp34m-win32.whl

numpy的-1.11.3 + MRL-CP34-cp34m-win_amd64.whl

如果你想爲Python 3.5版本:

SciPy的-0.19.0-CP35-cp35m-win32.whl

SciPy的-0.19.0-CP35-cp35m-win_amd64.whl

numpy的-1.11.3 + MKL-CP35-cp35m-win32.whl

numpy-1.11.3 + mkl-cp35-cp35m-win_amd64。WHL

如果你想爲Python 3.6版本:

SciPy的-0.19.0-CP36-cp36m-win32.whl

SciPy的-0.19.0-CP36-cp36m-win_amd64.whl

numpy的-1.11.3 + MKL-CP36-cp36m-win32.whl

numpy的-1.11.3 + MKL-CP36-cp36m-win_amd64.whl

鏈接:

完成安裝後,轉到您的目錄。

例如,我的目錄:

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts> 
pip install [where/is/your/downloaded/scipy_whl.] 

STEP 2:

與NumPy + MKL

基於再次Python版本相同的網站:

在腳本文件夾中使用同樣的事情再次經過:

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts> 

pip3 install [where/is/your/downloaded/numpy_whl.] 

而在Python的文件夾中對其進行測試。

Python35>python 
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import scipy