Python 在Windows上安装NumPy
我根本无法在Windows上安装NumPy。我一直在犯这个错误-Python 在Windows上安装NumPy,python,numpy,pip,Python,Numpy,Pip,我根本无法在Windows上安装NumPy。我一直在犯这个错误- PS C:\python27> pip install http://sourceforge.net/projects/numpy/file/NumPy/ Collecting http://sourceforge.net/projects/numpy/files/NumPy/ Downloading http://sourceforge.net/projects/numpy/files/NumPy/ (58kB) 100%
PS C:\python27> pip install http://sourceforge.net/projects/numpy/file/NumPy/
Collecting http://sourceforge.net/projects/numpy/files/NumPy/
Downloading http://sourceforge.net/projects/numpy/files/NumPy/ (58kB)
100% |################################| 61kB 15kB/s
Cannot unpack file c:\users\toshiba\appdata\local\temp\pip-qev4rz-unpack\NumPy
(downloaded from c:\users\toshiba\appdata\local\temp\pip-omripn-build, content-type: text/html; charset=utf-8); cannot detect archive format
Cannot determine archive format of c:\users\toshiba\appdata\local\temp\pip-omripn-build
我之前有一个Python 64位版本,我不确定NumPy版本是否与64位Python兼容。所以我卸载了它并安装了一个32位Python版本。但我还是犯了同样的错误。尽管我的Python 32位版本运行良好
我尝试了“pip install numpy”,但最后出现了以下错误-
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
error: Unable to find vcvarsall.bat
----------------------------------------
Command "C:\Python27\python.exe -c "import setuptools,tokenize;__file__='c:\\users\\toshiba\\appdata\\local\\temp\\pip-build-hdhqex\\numpy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),__file__, 'exec'))" install --record c:\users\toshiba\appdata\local\temp\pip-x_6llm-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\toshiba\appdata\local\temp\pip-build-hdhqex\numpy
我可能做错了什么?一些解释
在第一种情况下,我没有检查,但我猜pip
直接下载与给定URL对应的资源:。服务器返回一个HTML文档,而pip
需要一个存档文档。所以那是行不通的
然后,基本上有两种安装Python软件包的方法:
- 来源,就像你当时尝试的那样
- 来自预编译包
pip install numpy
进行了尝试,但由于此软件包包含本机代码,因此需要正确安装开发工具(我总是发现在Windows上这样做很麻烦,但我这样做了,这显然是可行的)。您遇到的错误错误:找不到vcvarsall.bat
意味着您没有安装工具,或者没有正确设置环境
对于第二种情况,您有不同类型的预编译包:
- 控制盘,您也可以使用
安装pip
- 安装程序,在Windows上用作标准安装程序
numpy
的控制盘:。要获得正确的体系结构,请检查名称win32
中的32位和amd64
中的64位。要获得正确的Python版本,请选中cpXX
:第一个X是主要版本,第二个X是次要版本,因此,例如cp27
意味着cpython2.7
示例:pip安装numpy-1.9.2rc1+mkl-cp27-none-win32.whl
硬解决方案:安装和使用开发工具
免责声明:以下所有解释可能都不太清楚。它们是在不同时刻进行多次调查的结果,但在我的配置中,它们导致了一个有效的解决方案。有些链接可能是无用的,或者是多余的,但这就是我注意到的。所有这些都需要一点清理,可能还需要推广
首先,您需要了解,distils
——这是一个预安装的包,它在低于pip
(后者使用)的级别上处理包工作流——将尝试使用一个与您安装的Python机器构建时使用的编译器严格匹配的编译器
Python的官方发行版使用微软Visual C++作为微软Windows软件包。因此,在这种情况下,您需要安装此编译器
如何找到VisualC++的正确版本
Python通过以下命令打印的字符串Python-c“import sys;print(sys.version)”
(或者在调用交互式shell时)如下所示:
3.4.1(v3.4.1:c0e311e010fc,2014年5月18日,10:45:13)[MSC v.1600 64位(AMD64)]
方括号之间的最后一部分是编译器的标识部分。不幸的是,这并不是很简单,您有通信列表:
-
- 三,
在上面我给出的例子中,这意味着微软Visual C++ 2010 64位。 如何安装VisualC++ <>你不能再找到一个独立的Visual C++程序包。因此,您需要安装Windows SDK本身
以下是一些参考链接:
DDSet_错误:修补程序挂钩:缺少必需的属性“ProductFamily”:安装程序无法继续。
DDSet_警告:调用“getDLLName”时安装程序失败。系统错误:当文件已经存在时,无法创建该文件。
已经在几个问题中报告了这些问题:
vsvarsall.bat
(位于Visual Studio安装路径的VC
文件夹中-示例:C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat
)设置适当的环境变量,以便在尝试编译包时,distutils
的执行不会失败
此批处理脚本接受一个参数,该参数应设置所需的体系结构。然而,我发现在SDK的免费版本中,在尝试其中几个参数时,缺少了一些额外的脚本
如果您是为32位体系结构编译,只需调用
vsvarsall.bat
就可以了。如果需要编译64位,可以直接调用位于SDK安装路径下的SetEnv.cmd
,例如:“C:\Program Files\Microsoft SDK\Windows\v7.1\Bin\SetEnv.cmd”/x64
,在Windows上,pip
非常适合安装不需要编译的软件包。否则,认真地说,省去构建和维护软件包的麻烦,并利用他人为您所做的工作。我建议使用以下任一Python发行版:
<
>>> import numpy
>>> import scipy
>>> import sklearn
>>> numpy.version.version
'1.13.1'
>>> scipy.version.version
'0.19.1'
>>>