【发布时间】:2019-11-22 15:07:12
【问题描述】:
我正在尝试使用 SRV 方案连接到我的 MongoDB 集群,但在尝试连接时遇到了问题。 下面是我试过的代码
from motor import motor_asyncio
motor_client = motor_asyncio.AsyncIOMotorClient('mongodb+srv://<user>:<password>@examplecluster-ece7n.azure.mongodb.net/test?retryWrites=true&w=majority')
_db = self.motor_client.translations
_collection = _db.translations_collections
我已经安装了 dnspython 模块,但是仍然弹出这个错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/libneko/extras/superuser.py", line 176, in execute_in_session
result = await locals()["aexec"](ctx, ctx.bot)
File "<string>", line 4, in aexec
File "/usr/local/lib/python3.7/site-packages/motor/core.py", line 141, in __init__
delegate = self.__delegate_class__(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/pymongo/mongo_client.py", line 524, in __init__
res = uri_parser.parse_uri(entity, port, warn=True)
File "/usr/local/lib/python3.7/site-packages/pymongo/uri_parser.py", line 318, in parse_uri
raise ConfigurationError('The "dnspython" module must be '
pymongo.errors.ConfigurationError: The "dnspython" module must be installed to use mongodb+srv:// URIs
它应该按照我的预期成功连接到集群,而且只需指定两点
- 我在弹出错误后安装了 dnspython。
- 看来问题与pymongo - mongodb+srv "dnspython must be installed" error 类似,但我没有使用 Jupyter Notebook。
【问题讨论】:
-
它可能与
dnspython的版本冲突有关。它可以是多个库的依赖项,并且所有库都支持不同版本的dnspython。我不记得自己了,但我过去肯定遇到过这个问题。
标签: python-3.x mongodb pymongo python-asyncio pymongo-3.x