1、背景
我们使用pip安装模块的时候经常提示安装失败,经常由于pip版本太老造成。
为什么要升级pip?
pip是python的包管理工具。
安装python的第三方包,往往需要编译由C/C++/Cythont等开发的程序,为了免去编译的繁琐,
开发者常常向PyPI(Python Package Index)网站上传已经编译好的wheels轮子,安装速度就会非常快!
安装三方包时候,如果pip找到了适用于你本地Python版本和操作系统的wheels轮子,就会下载这个轮子,而不是下载源码。
对于Linux操作系统,有一个名为manylinux的项目,
manylinux项目的目标是提供一种方便的方法来分发二进制python扩展作为Linux上的轮子。
这项工作已产生了PEP 513,PEP 571通过定义manylinux2010_x86_64和manylinux2010_i686平台标签进一步增强了该功能。
可以看到pip较早版本(小于19.3),只能到找到具有manylinux1标签的轮子的软件包。
2、pip3升级
pip3升级命令:
python3 -m pip install --upgrade pip
升级完成后pip即是pip3了,如果要为python2.7添加库,需要pip2。
3、示例
升级的细节:
root@7a8faaaebdbb:/# pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
root@7a8faaaebdbb:/# python3 -m pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7MB)
100% |################################| 1.7MB 71kB/s
Installing collected packages: pip
Found existing installation: pip 9.0.1
Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed pip-21.3.1
root@7a8faaaebdbb:/# pip3 -V
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 21.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
root@7a8faaaebdbb:/# pip -V
pip 21.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
如上所示:
升级完后,pip即是pip3了。