运行代码时出现ImportError:无法从telegram导入Update的解决方法
修复Telegram Bot导入错误的方法
原因分析
出现ImportError: cannot import name 'Update' from 'telegram'的核心原因有两个:
- 误安装了第三方的
telegram包,而非官方用于开发Bot的python-telegram-bot库 - 使用了
python-telegram-botv20+版本,该版本重构了模块结构,Update等类的导入路径发生变化
具体修复步骤
情况1:安装了错误的包
- 先卸载错误的
telegram包:
pip uninstall telegram -y
- 安装官方的
python-telegram-bot库:
pip install python-telegram-bot
情况2:python-telegram-bot版本过高(v20+)
有两种处理方式:
- 方式一:修改导入代码适配新版本
将原来的导入语句拆分,调整为对应模块的导入路径:
from telegram.update import Update from telegram.keyboardbutton import KeyboardButton from telegram.replykeyboardmarkup import ReplyKeyboardMarkup
- 方式二:降级到旧版本(保持原有导入写法)
如果不想修改代码,可以安装v13.x的稳定版本(该版本支持原导入方式):
pip install python-telegram-bot==13.7
内容的提问来源于stack exchange,提问作者Himanshu
相关产品推荐
相关产品推荐

