centos7源码编译安装python3.8.18

首先编译安装openssl 1.1.1

然后更新系统环境

  1. yum -y groupinstall "Development tools"
  2. yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel

下载源码:

  1. cd /usr/src
  2. wget https://www.python.org/ftp/python/3.8.18/Python-3.8.18.tar.xz

解压:

  1. tar -xvJf Python-3.8.18.tar.xz

进入目录:

  1. cd Python-3.8.18

编译:

  1. ./configure --enable-shared prefix=/usr/local/python3 --with-openssl=/usr/local/openssl-1.1.1t
  2. make && make install

查找软连接

  1. # 查找
  2. ll /usr/bin/ |grep python
  3. ll /usr/bin/ |grep pip

# 删除

  1. rm -rf /usr/bin/python
  2. rm -rf /usr/bin/pip

重建软连接

  1. ln -s /usr/local/python3/bin/python3 /usr/bin/python
  2. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

确认效果

  1. python -V
  2. pip --version

此时python默认已经是3.11,但CentOS yum 还是依赖Python2.7,需要修改 yum 相关配置文件,确保yum 依然能够正常运行
将/usr/bin/yum的顶部的:

  1. !/usr/bin/python 改成 !/usr/bin/python2.7

将/usr/libexec/urlgrabber-ext-down的顶部的:

  1. /usr/bin/python 改为 /usr/bin/python2.7

将/usr/bin/yum-config-manager的顶部的

  1. #!/usr/bin/python 改为 #!/usr/bin/python2.7

完成。

点赞