自動化指令碼- 安裝更換Python3.5
阿新 • • 發佈:2018-12-03
本指令碼所有資訊:
1:判斷是不是root使用者,是則繼續不是則退出指令碼輸出資訊
2:定義自己的版本
3:根據使用者輸入的版本號,來下載對應的版本包
4:使用系統命令wget來下載,注意wet後面有一個空格
5:os.system執行系統命令
6:如果無法下載,大部分是因為網路問題,提示使用者檢查網路
7:判斷相應的使用者來根據這個版本進行相應的解壓
8:如果解壓失敗的話,提示資訊,退出程式
9:如果編譯失敗退出返回資訊
10:移動老的Python版本
11:進行3.5軟連線,如果失敗則退出返回資訊
#coding=utf-8 import os import sys if os.getuid() == 0:pass else: print("當前使用者不是Root使用者,請以Root使用者執行指令碼") sys.exit(1) #version = rat_input('請輸入您想安裝的Python版本號(2.7/3.5):') version = '3.5' if version == '2.7': url = 'https://www.python.org/ftp/python/2.7/Python-2.7.tgz' elif version == '3.5': url = 'https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz' else: print("您輸入的版本號有誤,請輸入2.7或者3.5") 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' else: package_name = 'Python-3.5.0' 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) cmd = 'mv /usr/bin/python /usr/bin/python_old' res = os.system(cmd) if res !=0: print '移動失敗,請手動移動(mv /usr/bin/python /usr/bin/python_old)' sys.exit(1) cmd = 'ln -s /usr/local/python/bin/python3.5 /usr/bin/python' res = os.system(cmd) if res != 0: print '軟連線失敗,請手動軟連(ln -s /usr/local/python/bin/python3.5 /usr/bin/python)' sys.exit(1)
完成之後,進行檢查是否已經是python3,但是如果要進行yum,還是要修改檔案
1:修改yum檔案
vim /usr/bin/yum 原:#!/usr/bin/python 改:#!/usr/bin/python_old
2:修改檔案
vim /usr/libexec/urlgrabber-ext-down 原:#! /usr/bin/python 改: #! /usr/bin/python_old
本文只是測試,根據要求可進行修改。