1. 程式人生 > >自動化安裝python的指令碼

自動化安裝python的指令碼

一 功能需求

1 下載Python的原始碼

2 安裝Python需要的依賴庫

3 編譯安裝Python

二 虛擬碼版本

三 主要函式講解

1 os.system

功能:執行命令

返回:命令的返回值

補充:命令的輸出會輸出到標準輸出

2 raw_input()

功能:暫停程式執行,等待使用者輸入

返回:使用者輸入的內容

四 實戰

1 程式碼

#coding=utf-8
import os
import sys
if os.getuid() == 0:
    pass
else:
    print '當前使用者不是root使用者,請以root使用者執行指令碼'
    sys.exit(1)

version = raw_input('請輸入你想安裝的python版本(2.7/3.6)')
if version == '2.7':
    url = 'https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz'
elif version == '3.6':
    url = 'https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz'
else:
    print '您輸入的版本號有誤,請輸入輸入2.7或3.6'
    sys.exit(1)

cmd = 'wget '+url
res = os.system(cmd)
if res != 0:
    print '下載原始碼包失敗,請檢查網路'
    sys.exit(1)

if version == '2.7':
    package_name = 'Python-2.7.12'

else:
    package_name = 'Python-3.6.8'
cmd = 'tar xf ' + package_name+ '.tgz'
res = os.system(cmd)
if res != 0:
    os.system('rm '+package_name+'.tgz')
    print '解壓原始碼包失敗,請重新執行這個指令碼下載原始碼'
    sys.exit(1)

cmd = 'cd '+ package_name+ ' && ./configure --prefix=/usr/local/python && make && make install'
res = os.system(cmd)
if res !=0:
    print '編譯python原始碼失敗,請檢查是否缺少依賴庫'
    sys.exit(1)

2 執行

[[email protected] python]# python install_python.py
請輸入你想安裝的python版本(2.7/3.6)3.5
您輸入的版本號有誤,請輸入輸入2.7或3.6

五 自動化運維缺點

1 資料無法共享

2 無法主動發現問題

3 部署成本高

4 標準不統一

六 雲運維簡介

1 資源資料共享

2 主動發現問題

3 統一標準

4 成本低