2017-05-26 110 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建議的

相關問題