背景:centos7本身自带的是python2.7.5,系统里面有很多应用依赖python2.7.5,所以安装python3选择了编译安装,安装在/usr/local/python3目录中,然后使用软链接的方式将python3加到环境变量的目录/usr/bin/python3
系统状态:我的centos7为最小安装,许多开发环境软件应该都没有装,所有我们在装之前先安装编译所需的环境或者库。
1、执行下面代码,安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc kernel-devel kenel-headers make bzip2 gcc-c++ zlib libffi-devel
2、下载python软件
可以通过这个网址来选择版本下载地址然后选择好合适的包,可以复制链接然后执行下面代码。
wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6rc1.tgz
如果没有wget 可以安装一个yum install wget -y
解压源码包
tar -xzvf Python-3.8.6rc1.tgz
3、编译安装程序
1、首先创建个文件夹,用来放最后的安装程序,执行下面命令
mkdir /usr/local/python3
2、然后进入源码包
cd Python-3.8.6rc1
3、编译前评估
./configure --prefix=/usr/local/python3
4、编译,生成二进制文件,这步时间会长一些
make
5、将编译好的安装文件安装到/usr/local/python3中
make install
6、编译安装完毕后由于/usr/local/python3目录不在环境变量中,需要软链接一下
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
这时候在运行python3 -V 就能看到版本信息了
后记:由于python3的目录都不在环境变量中,我们用pip3安装的程序直接用命令也是执行不了的,也可以采用软链接的方式去讲程序链接到环境变量中