猿问

如何使用python检查是否已安装Maven

我正在编写一个python脚本来构建具有多种技术堆栈的项目。我需要检查是否所有必备组件都已准备就绪,并且Maven是必备组件之一。

通常,Maven教程将要求用户设置环境变量M2_HOME并将其添加%M2_HOME%/bin到路径。

使用下面的代码很容易检查环境变量,

if 'M2_HOME' not in os.environ:    print('Install maven firstly')

但是,如果用户未设置M2_HOME为环境变量而是将其添加pache-maven-x.x.x\bin到路径,则仍可以认为Maven已成功安装,并且我认为后者更加全面。

因此,出现了一个问题:如何使用Python检查是否已安装Maven?

在我看来,可以mvn从Python作为进程启动并检查输出是什么,例如通过调用mvn -v。还有其他建议吗?


有只小跳蛙
浏览 159回答 3
3回答

白衣非少年

您可以使用以下shutil.which命令import shutilif not shutil.which("mvn"):    print('Install maven firstly')编辑:对于python2.7,您可以distutils.spawn.find_executable改用:from distutils.spawn import find_executableif not find_executable("mvn"):    print('Install maven firstly')

狐的传说

您可以使用terminal命令which mvn,如果响应是,mvn not found则应该安装它。p = subprocess.Popen(["which", "mvn"], stdout=subprocess.PIPE)print p.communicate()然后比较输出
随时随地看视频慕课网APP

相关分类

Python
我要回答