Linux中升级pip和更换pip镜像源

在Linux中对Python的pip进行更新和镜像源替换为国内的镜像源。理论上操作对于Linux系统均适用,Python2和Python3也同样适用,不过Python2将在2020年1月1日停止支持,这里需要提醒一下大家记得尽快升级迁移自己项目和系统中使用的Python版本。

本文的操作会使用CentOS7+Python2和Ubuntu18.04.3+Python3来进行演示。

需要注意的是,如果系统中存在多个不同版本的pip,需要确定pip命令所指向的是否是需要更新的pip版本。

1、升级pip

1.1 直接使用pip升级pip

1
2
3
sudo python -m pip install --upgrade pip
# 或者适用这个命令,两个的效果是一样的
sudo pip install -U pip

1.2 重新安装pip

如果pip出现了异常状况损坏了导致不能正常使用,这时候我们可以考虑尝试一下重新安装pip,需要注意的是python-pip默认指向的是python2pippython3-pip才是python3pip,还是需要注意一下版本的问题。

1
2
3
4
# Ubuntu18.04.3
sudo apt list | egrep 'python.*pip'
sudo apt remove python3-pip
sudo apt install python3-pip

1
2
3
4
# CentOS7.7
sudo yum list | egrep 'python.*pip'
sudo yum remove python3-pip
sudo yum install python3-pip

重新安装完成之后,再次使用上面1.1的命令对pip进行升级即可。

1.3 使用Pypa官网安装文件重装pip

如果上面两种方法都不行,可以尝试一下使用Pypa官网的文件来进行pip的重新安装。

我们使用curl或者wget命令来下载安装文件,并使用对应版本的python进行安装。

1
2
3
4
5
6
# 使用curl将文件另存为get-pip.py到本地
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# 或者直接使用wget下载
wget https://bootstrap.pypa.io/get-pip.py
# 使用python强制重新安装pip
python get-pip.py --force-reinstall

使用这种方法安装的pip直接就是最新版本,不需要自己再额外手动升级。

2、更换pip源

2.1 国内pip镜像源

这四个是国内比较常用且稳定的镜像源,具体使用哪个大家可以根据自己的实际网络环境进行选择。

2.2 永久切换镜像源

永久切换镜像源需要我们在用户的家目录下新建一个.pip的隐藏文件夹并在里面新建一个pip.conf文件用于指定镜像源。这里我们以中科大的镜像源为例。

1
2
3
4
5
6
7
8
mkdir ~/.pip/

cat > ~/.pip/pip.conf <<EOF
[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple/
[install]
trusted-host = https://pypi.mirrors.ustc.edu.cn/
EOF

我们安装一个库来看一下速度如何:

2.3 临时指定镜像源

如果需要在某个安装中指定镜像源,只需要添加-i参数并加上镜像源的地址即可。

1
2
# 使用pip指定从清华镜像源中安装pandas库
sudo pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/

可以看到图中的下载速度几乎是可以达到满速的。