Как исправить ошибку ImportError: нет модуля с именем telebot - PullRequest
1 голос
/ 26 сентября 2019

Я настраиваю бота для отправки предупреждений из Zabbix, поэтому я установил Python и модули:

sudo apt install python python-pip python-setuptools

После этого я установил API бота для использования в Zabbix:

python -m pip install --user pyTelegramBotAPI

Создан скрипт в / usr / lib / zabbix / alertscripts / :

#!/usr/bin/env python

import telebot,sys

BOT_TOKEN='123TOKENAQUI321'
DESTINATION=sys.argv[1]
SUBJECT=sys.argv[2]
MESSAGE=sys.argv[3]

MESSAGE = MESSAGE.replace('/n','\n')
tb = telebot.TeleBot(BOT_TOKEN)
tb.send_message(DESTINATION,SUBJECT + '\n' + MESSAGE)

Изменены разрешения:

sudo chmod +x telegram

sudo chown -R zabbix telegram

И при тестировании скриптана терминале или в Zabbix появляется следующая ошибка:

Traceback (последний вызов был последним): файл "/ usr / lib / zabbix / alertscripts / telegram", строка 2, в telebot импорта, sys ImportError:Нет модуля с именем 'telebot'

Я попытался решить, установив модуль:

python -m pip install --user telebot

Установка модуля не помогла, поэтому я попытался использовать python3, искрипт на терминале сработал, но в Zabbix все равно выдает ту же ошибку.В итоге я вернулся к python.

Модуль telebot не отображается с pip list, только внутри терминала python с помощью команды help ("modules").

Кто-нибудь знает, что это может быть причинойпроблема?

1 Ответ

0 голосов
/ 27 сентября 2019

Мне удалось решить эту проблему с помощью python3, но на этот раз я полностью удалил другие версии python перед повторной установкой, выполнив следующие шаги:

sudo python -m pip uninstall pyTelegramBotAPI
sudo apt remove python python-pip python-setuptools
sudo apt install python3 python3-pip python3-setuptools python3-six
sudo python3 -m pip install pyTelegramBotAPI six
sudo pip install six
...