[英]Installing NumPy on Windows
我只是无法在 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% |################################| 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 对应的资源: http://sourceforge.net/projects/numpy/file/NumPy/ 。 服务器返回一个 HTML 文档,而pip
需要一个存档文档。 所以这是行不通的。
那么安装Python包基本上有两种方式:
第一种情况,您使用命令pip install numpy
进行了尝试,但由于此包包含本机代码,因此需要正确安装开发工具(我一直发现在 Windows 上这样做很麻烦,但我做到了所以这显然是可行的)。 您遇到的error: Unable to find vcvarsall.bat
表示您没有安装工具,或者没有正确设置环境。
对于第二种情况,您有不同种类的预编译包:
pip
安装对于两者,您都需要检查二进制文件是否已针对您的 Python 架构(32 位或 64 位)和版本进行了严格编译。
你可以找到numpy
几个轮子: http : numpy
。 要获得正确的体系结构,请检查 32 位的名称win32
和 64 位的amd64
。 要获得正确的 Python 版本,请检查cpXX
:第一个 X 是主要版本,第二个 X 是次要版本,因此例如cp27
表示 CPython 2.7。
示例: pip install numpy‑1.9.2rc1+mkl‑cp27‑none‑win32.whl
免责声明:以下所有解释可能不太清楚。 它们来自不同时刻的多次调查,但在我的配置中,它们导致了一个可行的解决方案。 某些链接可能无用或多余,但这就是我所指出的。 所有这些都需要一些清理,可能也需要泛化。
首先,您需要了解disutils
它是一个预装的包,它在低于pip
级别处理包工作流(后者被后者使用)——将尝试使用一个与过去严格匹配的编译器构建您安装的 Python 机器。
Python 的官方发行版使用 Microsoft Visual C++ for Microsoft Windows 包。 所以在这种情况下你需要安装这个编译器。
Python 使用此命令打印的字符串python -c "import sys; print(sys.version)"
(或当您调用交互式 shell 时)将如下所示:
3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)]
方括号之间的最后一部分是编译器的标识部分。 不幸的是,这不是很简单,您在那里有通信列表:
在我上面给出的示例中,这意味着Microsoft Visual C++ 2010 64 bits 。
您再也找不到适用于现代版本的独立 Visual C++ 包了。 因此,您需要安装 Windows SDK 本身。
以下是一些参考链接:
故障排除
您可能在安装 SDK 时DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue. DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists.
错误: DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue. DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists.
DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue. DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists.
他们已经在几个问题中得到了报道:
作为解决方案,您可以查看此链接: Windows SDK Fails to Install with Return Code 5100
问题是删除 Visual C++ 可再发行组件的所有冲突版本(理解:SDK 安装程序尝试自行安装的版本)。
通常你应该运行vsvarsall.bat
(位于 Visual Studio 安装路径的VC
文件夹内 - 例如: C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\vcvarsall.bat
)来设置适当的环境变量以便在尝试编译包时distutils
的执行不会失败。
此批处理脚本接受一个参数,该参数应设置所需的架构。 但是,我发现使用 SDK 的免费版本时,在尝试其中几个参数时缺少一些额外的脚本。
只是说,如果您正在为 32 位架构进行编译,只需调用vsvarsall.bat
可以了。 如果需要编译 64 位,可以直接调用SetEnv.cmd
,位于 SDK 安装路径下的某处 - 例如: "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin\\SetEnv.cmd" /x64
。
最好的解决方案是从https://www.microsoft.com/en-us/download/details.aspx?id=44266下载并安装 VCforPython2.7
然后尝试 pip install numpy。
100% 工作
我尝试为 64 位 Windows 7 安装 numpy 并花了很长时间。 我实际上是在尝试设置 sklearn。 研究了很多帖子,记录了对我有用的东西。 希望它能节省您的时间! https://simplemachinelearning.wordpress.com/2015/11/09/set-up-sklearn-on-windows/
我在为机器学习设置 python 时也遇到了上述问题。
我遵循以下步骤:-
安装 python-2.7.13.msi
• 设置 PATH=C:\\Python27
• 设置 PATH=C:\\Python27\\Scripts
转到http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
下载:- • numpy-1.13.1+mkl-cp27-cp27m-win32.whl • scipy-0.18.0-cp27-cp27m-win32.whl
安装numpy:pip install numpy-1.13.1+mkl-cp27-cp27m-win32.whl
安装scipy:pip install scipy-0.18.0-cp27-cp27m-win32.whl
您可以使用以下 cmds 测试正确性:-
>>> import numpy
>>> import scipy
>>> import sklearn
>>> numpy.version.version
'1.13.1'
>>> scipy.version.version
'0.19.1'
>>>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.