升级pymongo 4.9后使用motor出现ImportError问题求助
解决pymongo 4.9与motor 3.5.1的导入错误问题
问题原因
pymongo 4.9版本移除了pymongo.cursor模块中的私有常量_QUERY_OPTIONS,但motor 3.5.1的代码仍在尝试从该位置导入这个常量,直接触发ImportError。
可行解决方案
临时降级pymongo(推荐):
安装与motor 3.5.1完全兼容的pymongo 4.8.x版本,执行命令:pip install pymongo==4.8.2可根据需求选择4.8系列的具体版本。
等待motor适配更新:
motor官方会针对pymongo的版本变更推出适配版本,后续关注motor发布公告,更新到支持pymongo 4.9的版本即可。临时修改motor源码(仅紧急场景用,不推荐):
找到Python环境中motor/core.py文件,将开头的导入语句:from pymongo.cursor import _QUERY_OPTIONS, Cursor, RawBatchCursor拆分修改为:
from pymongo.cursor import Cursor, RawBatchCursor from pymongo.options import _QUERY_OPTIONS注意:
_QUERY_OPTIONS是私有常量,后续版本可能再次变更,该修改仅作临时应急。
内容的提问来源于stack exchange,提问作者william
相关产品推荐
相关产品推荐

