python脚本:Linux自动化安装python2.7或3.6

82 篇文章 3 订阅
21 篇文章 0 订阅

python脚本:Linux自动化安装python2.7或3.6

前言

在日常运维过程中,在部署环境中,经常需要安装或者升级python版本,这里就需要一个脚本进行自动化的安装部署。

本脚本实现思路是通过python 模块 os 和 sys,获取shell命令执行的结果进行的python版本自动安装的。

具体脚本实现

[root@install-python ~]# cat install_python.py 
#! /usr/bin/python2.7
#coding=utf-8

# Linux 中安装时,要注意安装相关依赖。比如gcc,zlib-devel等

import os
import sys

if os.getuid() == 0:
    pass
else :
    print "当前用户不是root用户,请以root用户进行运行。"
    sys.exit(1)

os.system("yum -y install gcc* zlib-devel openssl-devel")

version = raw_input("请输入您想安装的python版本(2.7/3.6)")

if version == "2.7":
    url = "https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz"
elif version == "3.6":
    url = "https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz"
else :
    print "当前输入的不是标准的版本号或您输入的版本号当前不支持,请重新输入。"
    sys.exit(2)

cmd = "wget " + url
res = os.system(cmd)
if res != 0 :
    print "文件下载失败,可能是网络原因请再次重试。"
    sys.exit(3)

package_name = ""
if version == "2.7":
    package_name = "Python-2.7.14"
elif version == "3.6":
    package_name = "Python-3.6.4"
else :
    print "error."
    sys.exit(4)

cmd = "tar -xf " + package_name + ".tgz"
res = os.system(cmd)
if res != 0:
    os.system("rm " + package_name + ".tgz")
    print "源码包解压失败,请检查源码包文件。"
    sys.exit(5)

# 注意./configure 前面不能有空格
cmd = "cd " + package_name +  "&& ./configure --prefix=/usr/local/python --with-ssl && make && make install"
res = os.system(cmd)

if res !=0:
    print "源码包编译安装失败,请再次检查。"
    sys.exit(6)

# 安装完成后,需要调整软连接文件,将新安装的python版本作为默认的python版本。
os.system("mv /usr/bin/python /usr/bin/python_old")
if version == "2.7":
    os.system("ln -s /usr/local/python/bin/python2.7 /usr/bin/python")
elif version == "3.6":
    os.system("ln -s /usr/local/python/bin/python3.6 /usr/bin/python")
else :
    print("需要手动配置python环境变量")

print "如果是从python 2升级到python 3版本的话,需要修改执行如下命令:"
print "sed -i '1c#!/usr/bin/python2' /usr/bin/yum"
print "sed -i '1c#!/usr/bin/python2' /usr/libexec/urlgrabber-ext-down"
[root@install-python ~]# 

截图中代码有重合,请注意。

升级完Python版本后,需要注意一些修改配置的地方。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值