如何从 whl 文件安装 python 包

How to install python packages from whl files

我已经从 web-page 下载 pycairo 并尝试使用 pip 安装它:

pip install pycairo-1.10.0-cp27-cp27m-win_amd64.whl

返回:

pycairo-1.10.0-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.
Storing debug log for failure in C:\Users\user\pip\pip.log

pip.log 显示:

------------------------------------------------------------
C:\Python27\Scripts\pip run on 11/05/16 10:46:49
pycairo-1.10.0-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.
Exception information:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python27\lib\site-packages\pip\commands\install.py", line 257, in run
    InstallRequirement.from_line(name, None))
  File "C:\Python27\lib\site-packages\pip\req.py", line 167, in from_line
    raise UnsupportedWheel("%s is not a supported wheel on this platform." % wheel.filename)
UnsupportedWheel: pycairo-1.10.0-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.

我使用以下方法检查了支持的 pip 标签:

import pip
print pip.pep425tags.get_supported()

输出是:

[('cp27', 'none', 'win_amd64'), ('cp27', 'none', 'any'), ('cp2', 'none', 'any'), ('cp26', 'none', 'any'), ('cp25', 'none', 'any'), ('cp24', 'none', 'any'), ('cp23', 'none', 'any'), ('cp22', 'none', 'any'), ('cp21', 'none', 'any'), ('cp20','none', 'any'), ('py27', 'none', 'any'), ('py2', 'none', 'any'), ('py26', 'none', 'any'), ('py25', 'none', 'any'), ('py24', 'none', 'any'), ('py23', 'none', 'any'), ('py22', 'none', 'any'), ('py21', 'none', 'any'), ('py20', 'none', 'any')]

因为 ('cp27', 'none', 'win_amd64') 列在那里,我希望安装 pycairo-1.10.0-cp27-cp27m-win_amd64.whl 没有问题,但我不能。还有什么我想念的吗?

我找到了解决方案 。我的 pip 版本很旧。我升级了它:

python -m pip install --upgrade pip

现在一切正常。