检查软件(PHP、Java等)安装前需求的Python脚本
我正在使用Python,想要开发一个脚本,主要实现以下几点:
比如说,当我们在Linux机器上安装某个特定软件,比如PHP或Java时,当我们运行这个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脚本动态地找到软件的版本,以及安装该软件所需的依赖?
1 个回答
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()
然后只需遍历这个列表,找出哪些软件已经安装,哪些是你需要的。关键在于你需要什么,你需要一份你希望系统中存在的项目清单……没有这个清单,就无法自动识别缺少的东西,因为目前还没有办法开发出能理解你期望的、已安装的以及基于这些信息缺少什么的工具。
你需要:一份你要求安装的项目清单,然后将其与已安装的软件进行对比。