【问题标题】:pymongo error on ec2 but working on VM on laptopec2 上的 pymongo 错误,但在笔记本电脑上的 VM 上工作
【发布时间】:2020-08-02 19:46:00
【问题描述】:

错误代码: 客户端 = pymongo.MongoClient("mongodb+srv://********?retryWrites=true&w=majority") init 中的文件“/home/ubuntu/.local/lib/python3.6/site-packages/pymongo/mongo_client.py”,第 621 行 连接超时=超时) 文件“/home/ubuntu/.local/lib/python3.6/site-packages/pymongo/uri_parser.py”,第 463 行,在 parse_uri 节点 = dns_resolver.get_hosts() 文件“/home/ubuntu/.local/lib/python3.6/site-packages/pymongo/srv_resolver.py”,第 102 行,在 get_hosts _, 节点 = self._get_srv_response_and_hosts(True) _get_srv_response_and_hosts 中的文件“/home/ubuntu/.local/lib/python3.6/site-packages/pymongo/srv_resolver.py”,第 83 行 结果 = self._resolve_uri(encapsulate_errors) _resolve_uri 中的文件“/home/ubuntu/.local/lib/python3.6/site-packages/pymongo/srv_resolver.py”,第 79 行 引发 ConfigurationError(str(exc)) pymongo.errors.ConfigurationError: query() got an unexpected keyword argument 'lifetime'

版本: 蟒蛇 3 pymongo:3.10.1

【问题讨论】:

  • 你可能需要安装dsnpythonpip install dsnpython --user

标签: python pymongo


【解决方案1】:

在我的情况下是使用旧类型 URL 的解决方案:

client = pymongo.MongoClient("mongodb://:@...

西南:

  • Ubuntu 18.04
  • Python 2.7.17 / 2.7.12
  • Pymongo 3.11.1
  • 谷歌云 SDK 319.0.0

直接从测试文件连接到 os 没问题,但从 Google SDK dev appserver2 运行相同的代码失败。

cloud.mongodb.com Atlas 生成的 URL 更改后 在集群部分 -> 连接 -> 选择连接方法 -> Python - 3.4 或更高版本 它终于(经过 4 天的搜索)开始工作了。

【讨论】:

    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 2018-06-20
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    相关资源
    最近更新 更多