AGI-файл Asterisk возвращает ImportError

Я унаследовал кластер серверов CentOS Asterisk, один из которых выполняет проверку, которую мне поручили повторить на других серверах.

Часть этой проверки включает в себя AGI, который работает без проблем на первом сервере, но на других серверах выдает ImportError: No module named asterisk.agi

Строка в AGI, которая, кажется, вызывает проблему, from asterisk.agi import *

Единственное различие, которое я вижу между рабочим сервером и нерабочим, — это версия 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

..однако на нерабочих серверах возвращает

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.

Есть ли у кого-нибудь указания или советы?


person massiveattack    schedule 13.12.2016    source источник


Ответы (3)


Вам не хватает модулей Python. Установите их с помощью менеджера пакетов дистрибутива (если он есть) или используйте pip install <module name>. Вы должны проверить, какой модуль используется вашим скриптом. Проверьте каталоги lib с модулями python.

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

person Dariusz Bączkowski    schedule 13.12.2016
comment
Спасибо - я думаю, что это сработает в большинстве случаев, но Python 2.6.6 не поставляется с Pip, а make_install была головной болью. Я решил это, установив Pyst (см. мой ответ ниже). Спасибо за помощь! - person massiveattack; 23.12.2016

Вам необходимо понизить версию Python с Python 2.6.6 до Python 2.4.3.

person 0cool    schedule 14.12.2016
comment
Я не думаю, что это помогло бы - проблема была в отсутствующих модулях, а не в версии Python. Хотя спасибо за помощь :) - person massiveattack; 23.12.2016

Я решил это.

Мне нужно было установить Pyst, который включал соответствующие библиотеки (asterisk.agi и т. д.). ).

Простые! Спасибо за помощь.

person massiveattack    schedule 23.12.2016