【问题标题】:How to fix ImportError: No module named 'telebot'如何修复 ImportError:没有名为“telebot”的模块
【发布时间】:2020-01-26 23:43:47
【问题描述】:

我正在配置一个机器人从 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(最近一次调用最后一次):文件 “/usr/lib/zabbix/alertscripts/telegram”,第 2 行,在 import telebot,sys ImportError: No module named 'telebot'

我尝试通过安装模块来解决:

python -m pip install --user telebot

安装模块并没有解决,所以我尝试使用python3,终端上的脚本可以工作,但是在zabbix中仍然显示同样的错误。我最终回到了 python。

telebot 模块不会以pip list 出现,仅在 python 终端中使用命令help ("modules")

有谁知道这可能是导致问题的原因吗?

【问题讨论】:

  • 你在用python3吗?尝试使用 pip3 install 而不是 pip install。
  • 我已经尝试过使用 python3 和 pip3,然后它可以通过终端发送消息,但在 Zabbix 中仍然给出同样的错误。

标签: python telegram telegram-bot zabbix python-telegram-bot


【解决方案1】:

我设法用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

【讨论】:

    【解决方案2】:

    对于此类错误,请重新安装库或在安装时使用 (--upgrade)!

    像这样:

    pip uninstall telebot
    pip install pyTelegramBotAPI
    pip install pytelegrambotapi --upgrade
    

    【讨论】:

      猜你喜欢
      • 2019-01-23
      • 2015-02-10
      • 2020-04-28
      • 2016-11-18
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多