以下测试案例给出了警告:
import trio, httpx
async def amain():
async with httpx.AsyncClient() as client:
r = await client.get('https://icanhazip.com/')
print(r.text)
trio.run(amain)输出:
> python test.py
/path/to/.venv/lib/python3.10/site-packages/anyio/_backends/_trio.py:164:
TrioDeprecationWarning: trio.MultiError is deprecated since Trio 0.22.0;
use BaseExceptionGroup (on Python 3.11 and later) or exceptiongroup.BaseExceptionGroup
(earlier versions) instead (https://github.com/python-trio/trio/issues/2211)
class ExceptionGroup(BaseExceptionGroup, trio.MultiError):
193.37.32.201使用最新的.venv (与最新的pyenv一起安装(与最新的brew一起安装))。
pip show trio报告0.22.0。pip show httpx报告0.23.0。这两个版本都是pypi上的最新版本。
这里发生了什么事?以及如何使警告保持沉默?
发布于 2022-10-16 09:14:23
我是在https://github.com/encode/httpx/discussions/2409长大的
要使警告保持沉默:
import warnings
from trio import TrioDeprecationWarning
warnings.filterwarnings(action='ignore', category=TrioDeprecationWarning)据我所知,最新的Trio版本使用的是一些只在3.11.0中添加到Python中的异常处理机制,它还没有发布(应该是的,但是发布日期被推迟了)。这大概就是造成这种不寻常情况的原因,在这种情况下,弃用警告需要一个尚未存在的Python版本。
https://stackoverflow.com/questions/74085832
复制相似问题