SQLAlchemy:;不允许捕获不从BaseException继承的类;在Pytest中进行测试时

SQLAlchemy:;不允许捕获不从BaseException继承的类;在Pytest中进行测试时,sqlalchemy,pytest,Sqlalchemy,Pytest,最近,在Pytest中运行测试时,我开始在测试结果结束时收到一个奇怪的警告;以下内容的多次迭代: Exception ignored in: <function _ConnectionRecord.checkout.<locals>.<lambda> at 0x10eea07a0> Traceback (most recent call last): File "/Users/username/appdev/scattr-api/venv/lib/pyth

最近,在Pytest中运行测试时,我开始在测试结果结束时收到一个奇怪的警告;以下内容的多次迭代:

Exception ignored in: <function _ConnectionRecord.checkout.<locals>.<lambda> at 0x10eea07a0>
Traceback (most recent call last):
  File "/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 503, in <lambda>
  File "/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 710, in _finalize_fairy
  File "/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 528, in checkin
  File "/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py", line 387, in _return_conn
  File "/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/impl.py", line 106, in _do_return_conn
TypeError: catching classes that do not inherit from BaseException is not allowed
中忽略的异常:
回溯(最近一次呼叫最后一次):
文件“/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py”,第503行,在
文件“/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py”,第710行,在
签入中的文件“/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py”,第528行
文件“/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/base.py”,第387行,位于
文件“/Users/username/appdev/scattr-api/venv/lib/python3.7/site-packages/sqlalchemy/pool/impl.py”,第106行,在
TypeError:不允许捕获不从BaseException继承的类
不管测试是否通过,这种情况最近开始发生。我不明白为什么这个警告开始出现,或者它意味着什么被“忽略”,所以我不知道我应该怎么做,如果有的话。我在运行我的实际应用程序时没有注意到任何问题,这只是在运行测试时发生的事情


事实上,回溯中的最后一个函数是“\u do\u return\u conn”,这让我认为它与连接池有关,但我仍然不确定如何理解它…

我确定问题是由于在pytest测试中没有显式关闭连接引起的

我一直在使用自定义连接在测试中查找数据库中的值(以确保插入了正确的值),如果在测试结束时没有显式关闭该连接,则会出现此神秘的错误消息


SQLAlchemy有一个最终将返回到池的连接,即使它们没有显式关闭。但是,在运行pytest的上下文中,在测试期间没有时间发生这种情况,从而导致出现神秘的错误消息

请讲一讲。最有可能的情况是,您正在使用非异常类型或异常类型元组的类型修补
sqlalchemy.queue.Full
。我不知道如何提供可复制的示例,因为我不理解错误消息的含义。这就是为什么我的问题询问错误消息的含义。我没有对SQLAlchemy中的任何内容进行任何修补(尽管pytest可能是)。我开始遇到同样的问题,但我已经结束了会话。还有什么可能导致这种情况的吗?