57

我正在尝试从(.whl) 文件安装NumPy 。我得到错误:

numpy-1.9.1%2Bmkl-cp34-none-win_amd64.whl 不是此平台支持的轮子。

细节:

  • Windows 8.1 pro x64,提升的命令提示符

  • Python 3.4.2

  • 从Gohlke 的网站打包 NumPy

  • 文件numpy-1.9.1%2Bmkl-cp34-none-win_amd64.whl复制到pip.exe文件夹中

日志文件显示:


d:\Program Files\WinPython-64bit-3.4.2.4\python-3.4.2.amd64\Scripts\pip 运行于 01/23/15 11:55:21
numpy-1.9.1%2Bmkl-cp34-none-win_amd64 .whl 不是此平台上受支持的轮子。
异常信息:
Traceback(最近一次调用最后一次):
文件“D:\Python34\lib\site-packages\pip\basecommand.py”,第 122 行,主要
状态 = self.run(options, args)
文件“D: \Python34\lib\site-packages\pip\commands\install.py”,第 257 行,运行中
InstallRequirement.from_line(name, None))
文件“D:\Python34\lib\site-packages\pip\req.py ",第 167 行,在 from_line
raise UnsupportedWheel("%s 不是此平台上支持的轮子。" % wheel.filename)
pip.exceptions.UnsupportedWheel:numpy-1.9.1%2Bmkl-cp34-none-win_amd64.whl 不是此平台支持的滚轮。

怎么了?

4

10 回答 10

81

简短的回答:重命名文件numpy-1.9.1%2Bmkl-cp34-none-win32.whl以安装它。

您可以pip通过运行检查您的工具接受哪些标签进行安装:

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

在这种情况下,pip 错误地将您的操作系统检测为 32 位,并且您尝试安装的win_amd64文件位于其文件名中。

如果您将文件重命名为numpy-1.9.1%2Bmkl-cp34-none-win32.whl(现在包含被认为受支持的标签),那么您可以安装该软件包。这是一个技巧,因为该文件仍然是为 64 位构建的,但这允许您按预期安装包。

于 2015-01-23T14:19:23.447 回答
18

经过几次测试,我认为问题出在“win32”或“amd64”本身。我尝试用“any”替换这两个并且它有效。

于 2015-02-14T06:32:31.200 回答
9

就我而言,在 Python (3.4.4 (AMD64)) 上安装gohlke的解决方法是更改​​“cp34m”部分而不是先前答案中的“win*”部分:

python -c "import pip; print(pip.pep425tags.get_supported())":
[('cp34', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'),
('cp34', 'none', 'any'), ...

ls -ld *

matplotlib-2.0.0b3-cp34-cp34m-win_amd64.whl
numpy-1.11.1+mkl-cp34-cp34m-win_amd64.whl
pandas-0.18.1-cp34-cp34m-win_amd64.whl

将上述名称更改为:

matplotlib-2.0.0b3-cp34-none-win_amd64.whl
numpy-1.11.1+mkl-cp34-none-win_amd64.whl
pandas-0.18.1-cp34-none-win_amd64.whl

例如,pip install matplotlib-2.0.0b3-cp34-none-win_amd64.whl

Processing ...
...Successfully installed matplotlib-2.0.0b3
于 2016-08-29T22:49:51.520 回答
6

要添加到其他可能的解决方案列表中,我必须升级 pip 本身。来自Gholke 网站的最新二进制文件有“cp27m”标签,当我使用以下方法检查 pip 标签时它没有显示:

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

在我升级 pip 后,轮子没有工作,但只是在做一个正常的pip install numpy工作。

于 2016-04-07T01:05:33.210 回答
3

例如,如果您安装了 Python 3.4,请确保安装-cp34-wheel 的版本,而不是-cp35-.

于 2016-06-18T01:22:18.207 回答
2

当前的WinPython包管理器需要两个字符的修复才能接受以识别新的 NumPy + mkl 'wheel'。

https://github.com/stonebig/winpython/commit/5e13230609a2e9f4d66d98c3776207ce4b4dd050

于 2015-01-29T18:33:59.980 回答
2

作为一种解决方法,卸载 NumPy 包:

pip uninstall numpy

然后从缓存中再次安装:

pip install numpy

从 3.4.1 升级到 3.4.2 后,我在几个软件包中遇到了同样的问题。

于 2015-02-16T16:05:40.097 回答
2

导航到您'pip.py'所在的目录,然后在 Windows 命令行上键入以下内容:

..\python.exe pip.py install name_of_package.whl

这应该有效。

于 2015-02-18T09:07:51.320 回答
2

我遇到了同样的问题,并尝试使用建议的解决方案来解决。

我把win64改成win32没用。但后来我把名字改成了原来的,这一次成功了!我做的唯一额外的事情就是离线。这太奇怪了。

于 2015-06-02T09:14:58.827 回答
1

这与您的操作系统无关。卸载 Python 32 位并安装 Python 64 位,或者找到 32 位文件。

于 2016-12-04T17:04:46.217 回答