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
yum -y install libffi-devel
2. 创建 Python 文件夹下载安装包
mkdir /usr/local/python3
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. 编译安装
cd /usr/local/python3/Python-3.9.0
./configure prefix=/usr/local/python3 --with-ensurepip=install
make -j 4 && make install
4. 创建软连接
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
python -V
- 更改 yum 脚本的 python 依赖,因为其要用到 python2 才能执行,否则会导致 yum 不能正常使用
vim /usr/bin/yum
原:
vim /usr/libexec/urlgrabber-ext-down
原:
5. 验证
python2
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"