在 pymongo 4.9 新版本发布之后,我在使用 motor 时收到此 ImportError:
../***_mongo/src/***_mongo/async_context.py:4: in <module>
from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorDatabase
/opt/hostedtoolcache/Python/3.12.6/x64/lib/python3.12/site-packages/motor/motor_asyncio.py:16: in <module>
from . import core, motor_gridfs
/opt/hostedtoolcache/Python/3.12.6/x64/lib/python3.12/site-packages/motor/core.py:30: in <module>
from pymongo.cursor import _QUERY_OPTIONS, Cursor, RawBatchCursor
E ImportError: cannot import name '_QUERY_OPTIONS' from 'pymongo.cursor' (/opt/hostedtoolcache/Python/3.12.6/x64/lib/python3.12/site-packages/pymongo/cursor.py)
只需尝试运行代码:
from motor.motor_asyncio import AsyncIOMotorClient, AsyncIOMotorDatabase
print(AsyncIOMotorClient)
print(AsyncIOMotorDatabase)
当前的电机释放因此已完全损坏。
我尝试使用最新版本的 motor(3.5.1)
最佳答案
3
对于遇到此问题的用户,请参阅跟踪此问题的 Jira 票证。我们目前正在调查。
当前的修复方法是:
- 升级到与 PyMongo >=4.9 兼容(且需要)的 motor 3.6.0:pip install –upgrade ‘motor>=3.6’
- 如果您正在使用 motor <3.6 并且无法升级,请将 pymongo 版本限制为 <4.9:例如 pip install –upgrade ‘motor==3.5.1’ ‘pymongo<4.9’
|
直到 motor 更新以解决 pymongo 4.9 中的重大变化,将 pymongo 固定到 4.8.0
|
我的 requirements.txt 中有这个组合并且它可以起作用。
motor==3.4.0
pymongo==4.8.0
|
|