python自動(dòng)化腳本安裝指定版本python環(huán)境詳解
一般情況下編譯安裝python環(huán)境需要執(zhí)行以下步驟:
- 下載源碼包
- 解壓源碼包
- 安裝配置
- 編譯以及編譯安裝
TALK IS CHEAP, SHOW YOU MY CODE.
#!/usr/bin/python #coding:utf-8 ''' date:9/2/17 18:03 PM author:lockey email:lockey@123.com desc:python自動(dòng)化安裝用戶指定版本的python環(huán)境 ''' #導(dǎo)入Python的系統(tǒng)編程操作模塊 import os #導(dǎo)入用來(lái)處理Python運(yùn)行時(shí)配置以及資源,與前當(dāng)程序之外的系統(tǒng)環(huán)境交互的模塊 import sys #判斷當(dāng)前用戶是否是root用戶 if os.getuid() == 0: pass else: print 'Not under root mode, please switch user!' sys.exit(1) #獲取用戶輸入的python安裝版本 version = raw_input('Please input wanted python version(2.7/3.6)') #如果嫌官網(wǎng)下載速度太慢可以指定python3.6.2的鏈接地址為本人上傳資源地址 #根據(jù)用戶輸入的python版本選擇源碼包下載地址 if version == '2.7': url = 'https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz' elif version == '3.6': url = 'https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz' else: print 'Please input given version number(2.7/3.5)' sys.exit(1) #拼接源碼包下載地址并執(zhí)行下載命令 cmd = 'wget ' + url res = os.system(cmd) if res != 0 : print 'Failed to download python source package, please inspect your network!' sys.exit(1) if version == '2.7': package_version = 'Python-2.7.13' else: package_version = 'Python-3.6.2' #解壓下載的源碼包 cmd = 'tar xf ' + package_version + '.tgz' res = os.system(cmd) #如果解壓失敗則刪除下載的源碼包并且提示用戶重新執(zhí)行腳本 if res != 0: os.system('rm ' + package_version + '.tgz') print 'Please reexcute the script to install python' sys.exit(1) #解壓成功則進(jìn)入解壓后的源碼目錄中依次執(zhí)行配置、編譯、安裝過(guò)程 cmd = 'cd ' + package_version + ' && ./configure --prefix=/usr/local/python && make && make install' res = os.system(cmd) #安裝失敗則提示用戶安裝失敗了,讓用戶檢查環(huán)境依賴(lài) if res != 0: print 'Failed to install python, please inspect dependencies for python install!' sys.exit(1)
程序運(yùn)行測(cè)試截圖:
1. 測(cè)試普通用戶模式下運(yùn)行安裝腳本:
2. 切換到root用戶然后運(yùn)行自動(dòng)安裝腳本:
3. 腳本自動(dòng)配置(./configure)完成,進(jìn)入編譯(make)階段
4. 腳本編譯安裝完成:
5. 測(cè)試安裝的python環(huán)境:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch+lstm實(shí)現(xiàn)的pos示例
今天小編就為大家分享一篇pytorch+lstm實(shí)現(xiàn)的pos示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01python實(shí)現(xiàn)解數(shù)獨(dú)程序代碼
最近在帶孩子學(xué)習(xí)數(shù)獨(dú),職業(yè)使然,就上網(wǎng)搜了下相關(guān)程序的解法,這里分享給大家,希望對(duì)大家學(xué)習(xí)python有所幫助2017-04-04在Python中操作時(shí)間之tzset()方法的使用教程
這篇文章主要介紹了在Python中操作時(shí)間之tzset()方法的使用教程,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05pandas實(shí)現(xiàn)excel中的數(shù)據(jù)透視表和Vlookup函數(shù)功能代碼
今天小編就為大家分享一篇pandas實(shí)現(xiàn)excel中的數(shù)據(jù)透視表和Vlookup函數(shù)功能代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python_matplotlib改變橫坐標(biāo)和縱坐標(biāo)上的刻度(ticks)方式
這篇文章主要介紹了python_matplotlib改變橫坐標(biāo)和縱坐標(biāo)上的刻度(ticks)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05