在telegram bot (python-telegram-bot)中导入错误



我有一个使用python-telegram-bot编写的电报机器人,工作正常,但几周后,当我开始脚本时,它似乎找不到一些库&模块。

例如,"Update"在我的代码中广泛使用,它工作得很好。但是现在python找不到它了

这是我的一些进口产品。

from telegram import  Update, ForceReply, InlineQueryResultArticle, InputTextMessageContent, ReplyKeyboardRemove, InlineKeyboardButton, InlineKeyboardMarkup, Update, User, ReplyKeyboardMarkup, Contact, Message, KeyboardButton

这里是错误。

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
NameError: name 'Update' is not defined

有人知道解决方法吗?

我尝试迁移到一个新的环境,用——pre或——upgrade开关重新安装python-telegram-bot,清除python缓存并重新加载vs code ssh窗口。

我不认为有一种好的方法可以将环境转移到生产环境(如果我错了请纠正我),但是,您可以使用在您的环境中安装的完全相同的包构建一个新的环境:

pip freeze > requirements.txt

这将您在开发环境中使用的每个包保存在一个文件中。然后,您可以在docker文件中使用此文件来构建与开发bot时完全相同的依赖项,使用:

pip install -r requirements.txt

我找到了重新安装依赖的建议,它对我很有效。(虽然PyCharm IDE仍然显示"无法找到参考",但bot开始正常工作):

pip uninstall python-telegram-bot
pip install python-telegram-bot

相关内容

最新更新