本帖最后由 寒心烟雨情 于 2019-8-16 20:32 编辑
Linux centos7 一键安装python3环境,现在都流行python3了,但是Linux服务器都是默认安装python2。
平时python写的小脚本放服务器挂着就需要安装环境,虽然就是几句命令的事情,但是追求自动化的我,封装了安装python3的安装命令,
今天本来已经写好了一键安装python多版本多项目的管理,但是有个bug改了半天都没有知道问题,分享个简单版的出来,有需要的学习一下拓展思路。
测试环境Linux centos7 64位,要求连接公网,可以yum安装 ,其他的Linux版本能不能用我就不知道了。
感觉没有什么人需要这个东西,可以看看。
使用方法,新建py文件,上传服务器,输入命令:python py文件名
[Python] 纯文本查看 复制代码 #coding=utf-8
import subprocess
import os,sys
def exe_cmd(cmd):
p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while True:
next_line = p.stdout.readline()
return_line = next_line.decode("utf-8", "ignore")
if return_line == '' and p.poll() != None:
break
print(return_line)
stdout, stderr = p.communicate()
if p.returncode != 0:
return False
return True
def main():
print ("python 3.7.2 一键安装开始!")
backinfo = exe_cmd('ping -c 1 -w 1 www.baidu.com')
if backinfo == False:
print ("网络检测失败程序退出,请重新检测网络环境!")
sys.exit()
print ("网络连接正常!")
yum_jc = exe_cmd('yum list')
if yum_jc == False:
print ("yum 不可用,请先手动配置yum安装!")
sys.exit()
print ('yum安装检测可用!')
exe_cmd("yum install gcc -y")
exe_cmd("yum install openssl-devel bizp2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y")
exe_cmd("wget http://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tgz")
exe_cmd("tar -zxvf Python-3.7.2.tgz")
exe_cmd("mv Python-3.7.2 /usr/local/")
exe_cmd("rm -rf Python-3.7.2.tgz")
os.chdir('/usr/local/Python-3.7.2')
exe_cmd("./configure")
exe_cmd("make")
exe_cmd("make install")
print ("程序执行完成!输入python3 查看效果。")
if __name__ == '__main__':
main()
|