CentOS7 安装 Python 3.9.0

文章目录

  • 1. 安装编译相关工具
  • 2. 创建 Python 文件夹下载安装包
  • 3. 编译安装
  • 4. 创建软连接
  • 5. 验证
  • 6. 脚本一键安装

1. 安装编译相关工具

  • 安装开发库
yum -y groupinstall "Development tools"
  • 安装依赖环境
yum -y install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
  • 安装 libffi-devel
yum -y install libffi-devel

2. 创建 Python 文件夹下载安装包

  • 创建存放的文件夹
mkdir /usr/local/python3 
  • 下载 Python3.9 安装包
cd /usr/local/python3
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
  • 解压
tar xf Python-3.9.0.tgz

3. 编译安装

  • 进入 Python-3.9.0 文件夹
cd /usr/local/python3/Python-3.9.0
  • 生成 makefile 文件
./configure prefix=/usr/local/python3 --with-ensurepip=install
  • 编译安装
make -j 4 && make install

4. 创建软连接

  • 将原有 python2 链接备份
mv /usr/bin/python /usr/bin/python.bak
  • 添加 python3 的软链接
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
  • 查看 python 版本
python -V
  • 更改 yum 脚本的 python 依赖,因为其要用到 python2 才能执行,否则会导致 yum 不能正常使用
vim /usr/bin/yum
原:#!/usr/bin/python 改:#!/usr/bin/python2

vim /usr/libexec/urlgrabber-ext-down
原:#! /usr/bin/python 改:#! /usr/bin/python2

5. 验证

  • 检测 python2
python2
  • 检测 python3
python

6. 脚本一键安装

#!/bin/bash
echo -e "\033[32m安装开发库,wait......\033[0m"
yum -y groupinstall "Development tools" &> /dev/null
echo ' '
echo -e "\033[32m安装依赖环境,wait......\033[0m"
yum -y install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel wget &> /dev/null
echo ' '
echo -e "\033[32m安装 libffi-devel,wait......\033[0m"
yum -y install libffi-devel &> /dev/null
echo ' '
mkdir -p /usr/local/python3
echo -e "\033[32m下载 python3.9.0 源码包,wait......\033[0m"
wget http://101.34.22.188/python/Python-3.9.0.tgz -P /usr/local/python3 &> /dev/null
echo ' '
echo -e "\033[32m解压源码包,wait......\033[0m"
tar xf /usr/local/python3/Python-3.9.0.tgz -C /usr/local/python3 &> /dev/null
echo ' '
echo -e "\033[32m编译安装,wait......\033[0m"
cd /usr/local/python3/Python-3.9.0
./configure prefix=/usr/local/python3 --with-ensurepip=install &> /dev/null
sleep 5
make &> /dev/null
make install &> /dev/null
sleep 5
echo ' '
echo -e "\033[32m创建软连接,wait......\033[0m"
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
echo ' '
echo -e "\033[32m更改 yum 脚本的 python 依赖,wait......\033[0m"
sed -i 's/\#\!\/usr\/bin\/python/\#\!\/usr\/bin\/python2/' /usr/bin/yum
sed -i 's/\#\! \/usr\/bin\/python/\#\! \/usr\/bin\/python2/' /usr/libexec/urlgrabber-ext-down
echo ' '
echo -e "\033[33mPython3.9.0 安装成功\033[0m"
echo -e "\033[32mPython3:python\033[0m"
echo -e "\033[32mPython2:python2\033[0m"

你可能感兴趣的:(云计算,python,linux,python,centos,bash)