2017-05-26 67 views
-1

我有一堆使用Python为每个构建运行自动化测试的Linux构建奴隶。每个python环境都需要安装特定的模块列表(有些需要特定的版本)。我正在尝试编写一个python脚本,它将转到每台机器上,并检查是否安装了python软件包列表以及检查几个软件包版本。我有这个工作的本地机器,但寻找最好的方式来检查远程机器的建议。如何以编程方式检查远程Linux计算机上是否安装了python软件包?

作为参考,在本地机器上,我在try /使用这个除了检查是否将模块安装

pkg_resources.get_distribution(module) 

这种检查特定版本

pkg_resources.get_distribution(module).version 

有关为远程系统执行此操作的最佳方法的任何建议?

+0

Ssh?的paramiko? Ansible? –

+0

我们已经使用ssh和paramiko包。 Linux并不是我的强项,Python并没有那么好,所以寻找一个步骤列表。 –

+0

我建议阅读完整的文档,然后如果你的Python不是很好 –

回答

0

您可以通过SSH运行任何shell命令:

$ ssh [email protected]_server which python 
/usr/bin/python 

这应该足以检查什么安装在远程服务器上。

+0

我需要从Python脚本执行此操作。这应该会自动依次连接到每个系统并验证已安装的软件包 –

+2

您可以使用'subprocess'或使用其中一个包装库来从Python运行'ssh'。 –

0

使用的paramiko我创建执行PIP冻结 搜索我需要验证

0

如果使用requirements files安装的软件包的包返回的列表,你可能想看看进入compare-requirements包SSH连接 。

至于能够远程运行它,你应该可以通过SSH实现,如AetherUnbound建议的

相关问题