zoukankan      html  css  js  c++  java
  • centos7 一键安装python3 --转发

    Linux centos7 一键安装python3环境,现在都流行python3了,但是Linux服务器都是默认安装python2。
    平时python写的小脚本放服务器挂着就需要安装环境,虽然就是几句命令的事情,但是追求自动化的我,封装了安装python3的安装命令,
    今天本来已经写好了一键安装python多版本多项目的管理,但是有个bug改了半天都没有知道问题,分享个简单版的出来,有需要的学习一下拓展思路。

    测试环境Linux centos7 64位,要求连接公网,可以yum安装 ,其他的Linux版本能不能用我就不知道了。

    感觉没有什么人需要这个东西,可以看看。

    使用方法,新建py文件,上传服务器,输入命令:python 文件名.py

    #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()
    

    https://www.52pojie.cn/thread-1009585-1-1.html

  • 相关阅读:
    varnish4.X安装
    关于varnish缓存
    s3cmd的使用
    MarkdownPad 2
    Lua控制语句
    Lua表达式
    后端怎么防止重复提交?(常用的做法)
    Redis用setnx+expire实现分布式锁存在什么隐患,如何改进?
    推送消息为什么使用RocketMQ,而不使用Kafka?
    自定义线程池,如何最佳创建线程池
  • 原文地址:https://www.cnblogs.com/fqnb001/p/12483146.html
Copyright © 2011-2022 走看看