升级到 PyMongo 3.0 导致 ServerSelectionTimeoutError

2024-01-10

我最近将 Bottle + uWSGI + Nginx 应用程序升级到 MongoDB 3.0.2。它在 PyMongo 2.8 上运行良好,但今天我通过运行以下命令升级到 PyMongo 3.0:

pip install --upgrade pymongo

我没有对代码进行任何其他更改,但现在我不断收到以下错误。

File "/pymongo/cursor.py", line 968, in __next__ if len(self.__data) or self._refresh():
File "/pymongo/cursor.py", line 905, in _refresh self.__read_preference))
File "/pymongo/cursor.py", line 812, in __send_message **kwargs)
File "/pymongo/mongo_client.py", line 716, in _send_message_with_response server = topology.select_server(selector)
File "/pymongo/topology.py", line 113, in select_server server_selection_timeout))
File "/pymongo/topology.py", line 93, in select_servers self._error_message(selector))
ServerSelectionTimeoutError: No servers found yet

我用来连接数据库的函数如下:

def connect_db(db_name):
    global db
    host = "localhost"
    port = 27017
    connection = pymongo.MongoClient(host=host, port=port)
    db = connection[db_name]

我已经重新启动了所有服务器。静态页面工作正常,但任何尝试访问数据库的页面都会挂起并引发上述错误。但是,如果我去一个mongoshell 或 Python shell 并查询 MongoDB 服务器,它工作正常。

>>> import pymongo
>>> host = "localhost"
>>> port = 27017
>>> connection = pymongo.MongoClient(host=host, port=port)
>>> db = connection[test]
>>> db.test.insert_one({"test": True});
<pymongo.results.InsertOneResult object at 0x7fc43b8efc80>

似乎只有我的应用程序找不到 MongoDB 服务器。请注意,我使用的是虚拟环境,以防以任何方式影响情况。另外,如果我降级回 PyMongo 2.8,一切都会正常。


这似乎与中的问题相同这个问题 https://stackoverflow.com/questions/31030307/why-is-pymongo-3-giving-serverselectiontimeouterror, 和这个bug https://jira.mongodb.org/browse/PYTHON-961。但是,我尝试按照建议在 MongoClient() 创建中设置 connect=False ,但无济于事。目前唯一有效的解决方案似乎是降级到 2.8 (pip install pymongo==2.8)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

升级到 PyMongo 3.0 导致 ServerSelectionTimeoutError 的相关文章

  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 稀有对象的 python 类型注释,例如 psycopg2 对象

    我了解内置类型 但是我如何指定稀有对象 例如数据库连接对象 def get connection and cursor gt tuple psycopg2 extensions cursor psycopg2 extensions conn
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 按边距(“全部”)值列对 Pandas 数据透视表进行排序

    我试图根据 pandas 数据透视表中的行总和对最后一列 边距 aggrfunc 进行降序排序 我知道我在这里错过了一些简单的东西 但我无法弄清楚 数据框 数据透视表 WIDGETS DATE 2 1 16 2 2 16 2 3 16 Al
  • Matplotlib:如何有效地将大量线段着色为独立渐变

    Python 绘图库 如何有效地将大量线段着色为独立渐变 已经 阅读this https stackoverflow com questions 8500700 how to plot a gradient color line in ma
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • Python Anaconda:如何测试更新的库是否与我现有的代码兼容?

    我在 Windows 7 机器上使用 Python 2 7 Anaconda 安装进行数据分析和科学计算 当新的库发布时 例如新版本的 pandas patsy 等 您建议我如何测试新版本与现有代码的兼容性 是否可以在同一台机器上安装两个
  • 两个不同长度的数据帧的列之间的余弦相似度?

    我在 df1 中有文本列 在 df2 中有文本列 df2 的长度将与 df1 的长度不同 我想计算 df1 text 中每个条目与 df2 text 中每个条目的余弦相似度 并为每场比赛给出分数 输入样本 df1 mahesh suresh
  • python中basestring和types.StringType之间的区别?

    有什么区别 isinstance foo types StringType and isinstance foo basestring 对于Python2 basestring是两者的基类str and unicode while type
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 为什么 __dict__ 和 __weakref__ 类从未在 Python 中重新定义?

    类创建似乎从来没有re 定义 dict and weakref class属性 即 如果它们已经存在于超类的字典中 则它们不会添加到其子类的字典中 但始终re 定义 doc and module class属性 为什么 gt gt gt c
  • 使用 PIL 在 Tkinter 中显示动画 GIF

    我正在尝试制作一个程序来使用 Tkinter 显示动画 GIF 这是我最初使用的代码 from future import division Just because division doesn t work right in 2 7 4
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • 卸载后执行命令

    我需要卸载才能运行命令after它删除了已安装的文件 UninstallRun 没有用 据我所知 它在文件被删除之前运行 我有点需要一个 卸载后 标志 关于我如何实现上述目标有什么建议吗 See 卸载事件函数 http www jrsoft
  • 包含过期项的哈希表

    我想实施一个HashTable 或者也许是一个HashSet or Dictionary 其中有独特的成员 一段时间后就会过期 例如 Items expire automatically after 10 seconds Expiratio
  • Celery:WorkerLostError:工作人员过早退出:信号 9 (SIGKILL)

    我在 Django 应用程序 在 Elastic Beanstalk 上 中使用 Celery 和 RabbitMQ 来管理后台任务 并使用 Supervisor 对其进行守护进程 现在的问题是 我定义的周期任务之一失败 在正常工作一周后
  • 7u45 webstart 中出现新的死锁错误?

    java 7u45 的乐趣仍在继续 这次是 webstart 内部陷入僵局 这种情况在启动大型应用程序 约 100 个 jar 时非常一致地 每次 发生 还有其他人遇到过这个问题或知道任何解决方法吗 除了恢复到 1 7 0 40 之外 Th
  • Jekyll 自动目录

    我已经建立了一个基于 Jekyll 代码的网站阿帕奇构建者 http buildr apache org Buildr 网站根据标题中的标题自动为每个页面生成一个目录 textile格式文件 例如 您使用纺织品编写一个页面 标记出标题 如下
  • zftool 的行为不符合预期

    我在 Linux 中有一个托管服务 我正在尝试在 zend Framework 2 上开发一个应用程序 我想使用 zftool 但无论我运行哪个 zftool 命令 我总是得到主页的 HTML 我将非常感谢任何帮助 以下是重现步骤 1 我安
  • 以角度 2 实现旋转器

    我尝试在我的应用程序中使用微调器 因为有大量数据需要时间来加载 但这是问题所在 我已将此链接作为参考 Angular2 的预引导加载屏幕 https stackoverflow com questions 35243443 pre boot
  • C++ 中的引用计数究竟意味着什么?

    到底什么是引用计数 特别是对于 C 来说它是什么 如果我们不处理这些问题 我们可能会面临哪些问题 所有语言都需要引用计数吗 到底什么是引用计数 特别是对于 C 来说它是什么 简单来说 引用计数就是对某个对象的引用进行计数 通常 C 采用以下
  • 如何将 vim 选项的值复制到寄存器

    在 vim 中你可以设置选项 set 例如 设置咒语 启用拼写控制 和 设置拼写文件 home custom spell txt 设置自定义拼写文件的位置 您可以使用 echo 打印选项的值 例如 回声 拼写文件 现在我想将选项拼写文件的值
  • Ubuntu下Visual Studio Code显示错误

    我的 Visual Studio Code 遇到了好几天的问题 无法启动它 事实上 窗口几乎全黑 这是我从终端启动它时的控制台输出 bash impossible de r gler le groupe de processus du te
  • 如何构建具有未知列数的 WPF 数据网格

    我需要从 txt 中获取的字符串数组集合构建并显示 WPF 数据网格 问题是我不知道先验的列数 即单个数组中的项目数 所以我在我的xaml中定义
  • MySQL 上 NOT IN 的替代方案

    我有一个疑问 SELECT DISTINCT phoneNum FROM Transaction Register WHERE phoneNum NOT IN SELECT phoneNum FROM Subscription LIMIT
  • 如何使用 EF4 Fluent API 将删除级联到链接表中?

    我在现有 MSSQL 2008 R2 数据库中有两个表 它们通过链接表关联 这两个表是 计划 和 提示 链接表是 PlanTipLinks 计划可以有许多提示 并且提示可以与多个计划关联 即 这是多对多的关系 在应用程序中 我只关心 Pla
  • 如何在wpf中使富文本框自动调整大小?

    如何让RichTextBox自动调整大小 我希望我的富文本框能够适合我分配给它的任何文本 而无需滚动条 谢谢 Set the HorizontalAlignment and VerticalAlignment除了Stretch 这是默认值
  • 如何向 iso 8583 消息添加使用 jpos 的标头。 - ISO 8583 - jpos

    我是使用 iso 8583 进行开发的新手 我需要在 iso 消息之前添加标头 但我以这种方式实现它们 并且不会将其添加到消息标头中 我究竟做错了什么 我希望你可以帮助我 GenericPackager packager new Gener
  • 异步写入文件

    有没有办法编写一个异步函数来重复将数据写入文件 当我编写异步函数时出现以下错误 该进程无法访问文件 c Temp Data txt 因为该文件正在被另一个进程使用 public void GoButton Click object send
  • 如何为

    我只有 HTML 和 CSS 的基本知识 并且广泛地浏览了 Google 试图找到这个问题的答案 这一切似乎都指向 JavaScript 和 或 jQuery 我试过了 但无法让它工作 我有一个音频文件 在我的网站加载时开始播放 我想设置一
  • 如何将

    转换为换行符?

    假设我有一个 HTML p and br 里面有标签 之后 我将剥离 HTML 以清理标签 我怎样才能把它们变成换行符 我正在使用Python的美丽汤 http www crummy com software BeautifulSoup 图
  • 如何在 REST 中处理 @OneToMany 关系

    我正在设计一个小REST允许执行一些基本操作的应用程序 到目前为止一切顺利 我有以下 Entity called Client需要与 Entity called Loan Client Entity Table name clients p
  • 升级到 PyMongo 3.0 导致 ServerSelectionTimeoutError

    我最近将 Bottle uWSGI Nginx 应用程序升级到 MongoDB 3 0 2 它在 PyMongo 2 8 上运行良好 但今天我通过运行以下命令升级到 PyMongo 3 0 pip install upgrade pymon