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)入用來處理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í)行配置、編譯、安裝過程
cmd = 'cd ' + package_version + ' && ./configure --prefix=/usr/local/python && make && make install'
res = os.system(cmd)
#安裝失敗則提示用戶安裝失敗了,讓用戶檢查環(huán)境依賴
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)文章
基于Python實(shí)現(xiàn)溫度轉(zhuǎn)換程序
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)簡(jiǎn)單的溫度轉(zhuǎn)換程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
一文帶你掌握Python中textwrap庫文本包裝的藝術(shù)
在Python編程中,處理文本是一項(xiàng)基礎(chǔ)且常見的任務(wù),textwrap模塊正是為此而生,它提供了一系列簡(jiǎn)單而強(qiáng)大的工具,幫助我們優(yōu)雅地完成文本包裝和格式化工作,下面就跟隨小編來看看它的具體使用吧2024-12-12
快速排序的四種python實(shí)現(xiàn)(推薦)
這篇文章主要介紹了python實(shí)現(xiàn)快速排序算法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
PyTorch使用GPU訓(xùn)練的兩種方法實(shí)例
pytorch是一個(gè)非常優(yōu)秀的深度學(xué)習(xí)的框架,具有速度快,代碼簡(jiǎn)潔,可讀性強(qiáng)的優(yōu)點(diǎn),下面這篇文章主要給大家介紹了關(guān)于PyTorch使用GPU訓(xùn)練的兩種方法,需要的朋友可以參考下2022-05-05

