我们想使用 pip 来安装 - MarkupSafe-1.1.0-cp27-cp27m-manylinux1_x86_64.whl
从 uname -a 我们有
uname -a
Linux Master 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
因此我们下载pkg - MarkupSafe-1.1.0-cp27-cp27m-manylinux1_x86_64.whl
并安装它
pip install -v --no-index --find-links PIP/ MarkupSafe-1.1.0-cp27-cp27m-manylinux1_x86_64.whl
Ignoring indexes: https://pypi.python.org/simple
Requirement 'MarkupSafe-1.1.0-cp27-cp27m-manylinux1_x86_64.whl' looks like a filename, but the file does not exist
MarkupSafe-1.1.0-cp27-cp27m-manylinux1_x86_64.whl is not a supported wheel on this platform.
Exception information:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 223, in main
status = self.run(options, args)
File "/usr/lib/python2.7/site-packages/pip/commands/install.py", line 278, in run
wheel_cache
File "/usr/lib/python2.7/site-packages/pip/basecommand.py", line 275, in populate_requirement_set
wheel_cache=wheel_cache
File "/usr/lib/python2.7/site-packages/pip/req/req_install.py", line 197, in from_line
wheel.filename
UnsupportedWheel: MarkupSafe-1.1.0-cp27-cp27m-manylinux1_x86_64.whl is not a supported wheel on this platform.
但是为什么我们得到的是 - 这个平台不支持轮子。
这里有什么不对劲?
答案1
这很可能是 Python 版本冲突的问题。wheel 名称中的“cp27”表示它应该与 CPython 2.7 一起安装,而您的 pip 可能仅支持 Python 3.x。
要检查这一点,请打开 REPL(使用$ python
或$ python3
)并运行以下两个命令:
>>> import pip
>>> pip.pep425tags.get_supported()
它应该显示 pip 安装可接受的格式,类似于:
[('cp36', 'cp36m', 'linux_armv7l'), ('cp36', 'abi3', 'linux_ar7l'), ('cp36', 'none', 'linux_armv7l'), ('cp35', 'abi3', 'linuarmv7l'), ('cp34', 'abi3', 'linux_armv7l'), ('cp33', 'abi3', 'linux_armv7l'), ('cp32', 'abi3', 'linux_ar7l'), ('py3', 'none', 'linux_armv7l'), ('cp36', 'none', 'any')('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', '无', '任何'), ('py35', '无', '任何'), ('py34', '无', '任何, ('py33', '无', '任何'), ('py32', '无', '任何'), ('py31', 'ne', '任何'), ('py30', '无', '任何')]
只需返回 Markupsafe 的 Pypi 下载页面,然后找到适合您平台的版本即可。
备选问题:
- 您正在使用 32 位架构(遗憾的是,Windows 仅支持 32 位)
- 你的 python 实现不是 CPython(可以通过导入来检查
platform
,然后>>> platform.python_implementation()