[英]How to fix ImportError: No module named 'telebot'
我正在配置一個機器人從 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 上測試腳本時,會出現以下錯誤:
回溯(最后一次調用):文件“/usr/lib/zabbix/alertscripts/telegram”,第 2 行,在 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 -m pip install --user pyTelegramBotAPI”,我明白我需要使用“python 3 -m pip install --user pyTelegramBotAPI”代替。
對於這些錯誤,請重新安裝庫或在安裝時使用 (--upgrade) !
像這樣:
pip uninstall telebot
pip install pyTelegramBotAPI
pip install pytelegrambotapi --upgrade
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.