下载链接:https://www.python.org/downloads/
基本流程
/usr/local/share/applications/python3
# 安装依赖
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
yum install -y gcc
yum -y install libffi-devel # ModuleNotFoundError: No module named '_ctypes'
yum -y install openssl-dev
yum -y install wget
yum install gcc-c++ -y
# 下载解压编译
cd /odt/ins
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar -xzvf /odt/ins/Python-3.7.3.tgz
mkdir -p /usr/lib/python3
cd Python-3.7.3
./configure --enable-optimizations --prefix=/usr/lib/python3
make && make altinstall
make clean
rm -rf Python-3.7.3
# 建立软链
ln -sb /usr/lib/python3/bin/python3.7 /usr/bin/python3
ln -sb /usr/lib/python3/bin/pip3.7 /usr/bin/pip3
# 更改python2依赖
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
#! python2
#检验
python3 -V
pip3 -V
python2 -V
脚本
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
cmd1='''
# 安装依赖 指定脚本目录
yum install zlib-devel -y
yum install bzip2-devel -y
yum install openssl-devel -y
yum install ncurses-devel -y
yum install sqlite-devel -y
yum install readline-devel -y
yum install tk-devel -y
yum install gdbm-devel -y
yum install db4-devel -y
yum install libpcap-devel -y
yum install xz-devel-y
yum install gcc -y
yum install libffi-devel -y
# 解压编译
tar -xzvf {py3_sou}
mv Python*[!z] tmp
mkdir -p /opt/python3
'''
cmd2='''
# 编译 指定tmp目录
./configure --enable-optimizations --prefix=/opt/python3
make && make altinstall
make clean
rm -rf /odt/script/tmp
# 建立软链
ln -sb /opt/python3/bin/python3.7 /usr/bin/python3
ln -sb /opt/python3/bin/pip3.7 /usr/bin/pip3
'''
def action(wkdir,cmd_str):
os.chdir(wkdir)
with open('/odt/script/ins_log.txt','a') as log:
for cmd in cmd_str.split('\n'):
cmd=cmd.strip()
if not (cmd.startswith('#') or cmd==''):
with os.popen(cmd) as f:
oput=f.read()
print oput
log.write(oput)
if __name__=='__main__':
cmd1=cmd1.format(py3_sou=sys.argv[1])
action('.',cmd1)
action('./tmp',cmd2)