2013-02-07 76 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

相关问题