在单元测试中,我刚得到
werkzeug/local.py:347: DeprecationWarning: json is deprecated. Use get_json() instead.
我将其追溯到相关文件venv/lib/python3.6/site-packages/werkzeug/local.py
。有问题的行是以下方法中的最后一行。你知道吗
def __getattr__(self, name):
if name == '__members__':
return dir(self._get_current_object())
return getattr(self._get_current_object(), name) # Line 347
从request.json
转移到request.get_json()
似乎已经很老了(2013年?),Werkzeug文件中的快速递归grep显示request.json
没有使用。
使用request.json
而不是request.get_json()
的有问题的代码似乎是我自己的。我的静脉中的Werkzeug和烧瓶都是0.12.2。你知道吗
如何通过包触发不推荐使用的警告,而不pytest
甚至指向实际使用不推荐使用的接口的行?你知道吗
我认为软件包本身并没有触发DeprecationWarning。Pytest正在查看代码并警告您代码已被弃用,这可能在您的控制之下,也可能不在您的控制之下。你知道吗
至于deprecation警告是如何触发的,以及它应该归属于何处,似乎PEP 565对此有一些看法:
至于您的json弃用警告来自何处,pytest将您指向Werzkug似乎很奇怪,而且根本没有在其中使用它。也许这是由于上面的一些限制?你知道吗
相关问题 更多 >
编程相关推荐