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