Centos7安装Python3

Centos7 自带的只有python2,虽然可以 yum install python3 来安装,但是版本是python3.6的,不是最新的用起来还是有点不爽(Centos注定不是最新的,你在想屁吃!),昨天折腾了一下,现在记录一下过程。

如果你已经安装了python3.6或者其他版本,请先卸载或者在下面的每个执行语句中将python3改成python38(或者对应的版本,比如39)

检查安装的Python版本

执行:

1
whereis python

输出如下,可以看到只有自带的python2.7

1
2
[root@centos~]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

安装编译所需要的包

1
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel

升级GCC

自带的GCC版本是4.8,编译时会出现 这个错误 ,解决这个问题很简单,升级GCC即可。

1
2
3
4
yum install centos-release-scl -y
yum install devtoolset-7 -y
scl enable devtoolset-7 bash
gcc -v

执行没有出错的话,最后一句执行以后会显示7.3版本的GCC:

1
2
3
4
5
[root@aliyun_shenzhen ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
中间一堆输出省略.......
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)

注意: 每次退出登录GCC都会变成4.8版本,此时只需要再执行一次

1
scl enable devtoolset-7 bash

即可

下载源码包

这里 找到最新的源码下载,xz格式的压缩包体积更小,下载更快,推荐。

XZ compressed source tarball 链接上右键复制链接地址,然后在终端输入:

1
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tar.xz

没有 wget 的执行 yum install wget 就行了

解压

在压缩包目录下执行,注意将压缩包名更改为你自己的:

1
2
xz -d Python-3.8.1.tar.xz
tar -xvf Python-3.8.1.tar

编译安装

如果安装了其他版本记得将python3改为python38

1
2
3
4
cd Python-3.8.1
./configure prefix=/usr/local/python3
./configure --enable-optimizations
make && make install

没有报错的话就说明编译安装成功了, 在/usr/local/目录下就会有python3目录 。

其他设置

软链接

1
2
3
4
5
6
#添加python3的软链接 
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3.8
#添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3.8
#测试是否安装成功了
python3 -V

到这里安装就成功了。以后执行脚本输入 python3 xxx.py 就可以了。安装包执行pip3 install xxxxx即可。