简单说一下centOS 7 内置了2.7.5版本的Python,但是现在我们需要运行的脚本或py程序可能需要python3.X的支持,所以才有了安装Python3.8.2(目前最新稳定版)的这一说。但是安装Python3.X归安装,千万不要动原始的2.7.5版本,因为yum指令等其他服务需要依赖2.7.5版本。下面就简单说说如何操作,及安装完成将Python3.8.2设置为默认后yum失效如何处理。
首先安装依赖文件:
1 2 | yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma |
补充一下没有安装gcc编译器,没有安装make和wget的还需要执行一下安装步骤
1 | yum -y install gcc make wget |
现在我们去Python官网下载最新的源码文件:
https://www.python.org/
我们发现最新版本是3.8.2,进入downloads里面就可以下载了,源码文件有gzip和xz2种压缩格式,我们选gzip格式的,复制他的链接,然后在终端输入:
1 | wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz |
文件会被下载到根目录,然后我们需要解压:
1 | tar -zxvf Python-3.8.2 |
解压后进入目录:
1 | cd Python-3.8.2 |
接下来进行编译安装:
1 2 3 | mkdir /usr/local/python3/ #创建一个python3文件夹 ./configure --prefix=/usr/local/python3/ #预编译设置安装路径 make && make install #编译及安装 |
以上就是全部安装过程,到这里Python3已经安装完毕了,但是你会发现使用python -V 查看版本还是提示2.7.5,使用python指令也是调用的2.7.5版本,下面我们需要通过建立软链接来将python命令链接到python3以到默认使用Python3版本
1 2 | ln -s /usr/local/python3/bin/python3 /usr/bin/python #软连python到python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip #软连pip到pip3 |
到这里你已经可以使用pip安装python的各种库了并且可以通过python -V来查看版本是Python 3.8.2了。到这里所有工作都结束了。
但是!但是!但是!还没有完。因为修改了软连将python指向了python3,所以原本依赖2.7.5版本的yum命令失效了,我们需要更改一下yum内的软连指向:
一共有3个地方需要修改,一定要改,不改当下运行yum会报错,后期也会有各种报错!比如安装WordPress的时候yum-config-manager也会报错。
①/usr/bin/yum 路径
1 | vi /usr/bin/yum |
将!/usr/bin/python2 改成 !/usr/bin/python2.7
②/usr/libexec/urlgrabber-ext-down 路径
1 | vi /usr/libexec/urlgrabber-ext-down |
将!/usr/bin/python2 改成 !/usr/bin/python2.7
③/usr/bin/yum-config-manager 路径
1 | vi /usr/bin/yum-config-manager |
将!/usr/bin/python2 改成 !/usr/bin/python2.7
至此Python3全部配置完毕,依赖关系也修改完成,现在你可以在VPS上敲python代码了,也可以运行依赖Python3.X的py文件了!