2013-02-07 72 views
-2

我使用python,並試圖開發出涵蓋以下點Python腳本安裝任何軟件之前檢查的要求(PHP,Java的等)

例如,當我們嘗試安裝特定的腳本軟件,如PHP或Java等,Linux機器上,當我們運行python腳本

It should check the minimum requirements that needs to install that particular software(like PHP or Java that we will pass the this software name along with the script file)? 
    Which version of that software is installed ? 

我的意思是,當我們運行特定的軟件名稱的腳本,該腳本應該先找到需要安裝它,其次是否該軟件已安裝,如果安裝了該軟件的版本是什麼?

例如要知道在linux機器上是否安裝了PHP我們會用php -V, 也找到java的版本,我們會用java -version

最後誰能讓我知道一個基本概念,我們是否可以從一個python腳本中動態地找到該軟件的版本以及安裝該特定軟件所需的要求?

+0

你已經在你自己的問題中描述了你的解決方案嗎? – Torxed

+0

ofcourse我想這樣,但我接近SO,因爲我是否可以得到任何動態代碼/腳本/想法來實現上述要點,即在安裝任何軟件之前,我們正在嘗試安裝 –

+0

之前需要的軟件。選項,在一些發行版上。 – Torxed

回答

0
from os import system 
phpstatus = system('php --version') 
javastatus = system('java -version') 

if phpstatus != 0: 
    print 'Missing: PHP' 
if javastatus != 0: 
    print 'Missing: Java' 

如果任何兩個是在返回任何有價值的東西 0,你已經有了一個缺少模塊。
(這是不是最佳的,你會看到很多不需要的文本的最有可能的,但它是一個開始)

列出所有已安裝的軟件(buntu/Debian的):

from subprocess import Popen, PIPE 
stdout, stderr = Popen(['dpkg', '--get-selections'], stdout=PIPE, stderr=PIPE).communicate() 

然後就是循環通過它找到你所需要的東西。 這一切都歸結爲基礎知識,你需要什麼,你需要一個項目列表,你需要在系統中存在..沒有,沒有辦法自動缺失的東西,因爲你不能開發的東西(截至今天),可以理解你將會期待什麼,安裝了什麼,並基於缺少的東西。

您需要:您需要安裝的項目清單 將此項目匹配,安裝了什麼。

+0

這不是每個sae的編程問題,它是一個基於您使用的操作系統和操作系統提供的系統管理問題,Python將爲您提供的任何內容,因爲它在較低級別的操作系統功能上跟蹤系統安裝的內容和未安裝的內容。 – Torxed

相關問題