2016-12-13 54 views
0

我繼承了一個CentOS Asterisk服務器集羣,其中一個運行一個檢查,我已經負責在其他服務器上進行復制。Asterisk AGI文件返回ImportError

此檢查的一部分涉及的是沒有問題運行的第一個服務器上的AGI - 但在其他服務器上,吐出來ImportError: No module named asterisk.agi

該行似乎引起的問題是from asterisk.agi import *

的AGI我可以在工作服務器和非工作服務器之間看到的唯一區別是Python版本。在工作服務器鍵入python返回

Python 2.4.3 (#1, Jan 9 2013, 06:49:54) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 

..however,在非工作服務器返回

Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 

我一派,並不能找到我要去哪裏錯了。我擔心會打破其他依賴關係,因爲在這些服務器上運行着許多AGI腳本。

有沒有人有任何指針或建議?

回答

0

我解決了這個問題。

我需要安裝Pyst其中包括相關的庫(asterisk.agi等)。

簡單!感謝所有的幫助。

0

您缺少python模塊。使用分發包管理器(如果可用)安裝它們或使用pip install <module name>。您必須檢查腳本使用哪個模塊。用python模塊檢查lib目錄。

https://docs.python.org/2.7/installing/

+0

謝謝 - 我相信這可以在大多數情況下工作,但Python 2.6.6不帶Pip,make_install是一個令人頭疼的問題。我通過安裝Pyst解決了這個問題(請參閱下面的答案)。謝謝您的幫助! – massiveattack

0

您需要降級Python版本從2.6.6的Python到Python 2.4.3。

+0

我不認爲這會有所幫助 - 問題是缺少模塊,而不是Python版本。感謝您的幫助,雖然:) – massiveattack