我正在配置一个机器人从 Zabbix 发送警报,所以我安装了 Python 和模块:
sudo apt install python python-pip python-setuptools
之后,我安装了要在 Zabbix 上使用的 bot API:
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 (most recent call last): File "/usr/lib/zabbix/alertscripts/telegram", line 2, in import telebot,sys ImportError: No module named 'telebot'
我试图通过安装模块来解决:
python -m pip install --user telebot
安装模块并没有解决,所以我尝试使用python3,终端上的脚本可以工作,但是在zabbix中仍然显示同样的错误。我最终回到了python。
远程机器人模块没有出现
pip list
,仅在 python 终端内使用命令 help ("modules")
.有谁知道这可能会导致问题?
最佳答案
我设法使用 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
关于python - 如何修复 ImportError : No module named 'telebot' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58121141/