更新升级python和pip版本后不生效的问题解决
写在前面
最近在更新我服务器上的python以及pip版本的时候,碰见了令人头痛的问题,就是我执行了升级指令之后,升级也正常的Successfully Complete!
了,但是我用python -V
或者pip -V
查看版本的时候,发现还是原来的版本,没有变化,解决了半天才发现问题所在,这里就记录一下,能帮助有需要的人。
升级python版本
我的服务器系统用的是CentOS7.7版本,后面我还会说一种CentOS6的修改方法。首先,我们使用如下指令进行升级python版本。
yum install python3 -y
一切正常的话,会提示你安装成功,然后我们使用如下指令查看当前python的软连接指向,查询结果中,第一条的结果如下。
ll /usr/bin/python*
我们通过上面的查询结果可以看到,虽然我们成功安装了python3,但是目前系统指向python的软连接还是python2,这也是为什么我们安装python3成功之后,执行python -V
查看python版本,还是python2的原因,所以这个时候,我们需要修改软连接指向,只需执行两步命令,具体步骤如下:
mv python python.bak #更改原先python的软连接 ln -s /usr/bin/python3 /usr/bin/python
通过上面两步指令,一切正常的话,就会成功修改,这个时候我们使用原先查看软连接的指令,来查看一下我们是否修改成功ll /usr/bin/python*
,结果如下
这个时候执行python -V
指令,修改成功
CentOS6的修改
[root@Centos6 ~]# python -V Python 2.6.6 [root@Centos6 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup [root@Centos6 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo [root@Centos6 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@Centos6 ~]# yum makecache [root@Centos6 ~]# wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz [root@Centos6 ~]# tar xf Python-3.8.1.tgz [root@Centos6 ~]# cd Python-3.8.1 [root@Centos6 ~]# yum install -y perl gcc make kernel-headers kernel-devel zlib* [root@Centos6 ~]# ./configure --prefix=/usr/local/python3 [root@Centos6 ~]# make && make install [root@Centos6 ~]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3 [root@Centos6 ~]# ll /usr/bin/python* -rwxr-xr-x. 2 root root 4864 Aug 18 2019 /usr/bin/python lrwxrwxrwx. 1 root root 6 Nov 19 11:07 /usr/bin/python2 -> python -rwxr-xr-x. 2 root root 4864 Aug 18 2019 /usr/bin/python2.6 lrwxrwxrwx 1 root root 30 Jan 3 12:07 /usr/bin/python3 -> /usr/local/python3/bin/python3 [root@Centos6 ~]# python3 -V Python 3.8.1
pip的版本升级
其实和python一样的问题,我们成功升级了pip的版本,但是执行pip -V
的时候,发现还是老版本,所以我们需要通过如下解决办法来搞定。这里先贴一下pip的升级指令
python3 -m pip install --upgrade pip
为什么会出现版本不一致的情况,原因是pip这个文件里面的的版本号还是老的版本,所以我们需要改动这个文件中到更新的版本。首先,我们执行如下指令,先到这个pip的文件里面看看是什么内容
vim /usr/bin/pip
更改之后的内容
然后在执行pip -V
,发现更新成功。
下一篇:解决Jupyter无法导入已安装的 module问题