DeprecationWarning: ssl.PROTOCOL_TLS is deprecated pytest中的提示如何去除
时间: 2024-10-19 19:15:27 浏览: 33
解决 warning 显示 The linear_assignment function is deprecated in 0.21 and will be removed from 0.23. Us…
DeprecationWarning是一个Python警告,表明某个功能、模块或API正在逐步过时,并将在未来的版本中移除。在这个例子中,`ssl.PROTOCOL_TLS`被标记为过时,意味着它推荐使用新的协议替代。在Pytest中看到这个警告通常是由于测试代码依赖了已废弃的SSL协议。
要去除这个警告,你可以按照以下几个步骤操作:
1. **升级到最新版本**:确保你使用的Python和相关的库(如requests或urllib3)是最新的,因为新版本可能会修复这个问题。
2. **替换旧API**:查阅文档,找到ssl.PROTOCOL_TLS所对应的推荐或当前推荐的TLS版本,比如PROTOCOL_TLSv1_2或更高。
3. **修改代码**:在你的测试代码中,将`ssl.PROTOCOL_TLS`替换为你选择的新协议。例如:
```python
import ssl
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH, protocol=ssl.PROTOCOL_TLSv1_2)
```
4. **忽略警告**:虽然不是最佳实践,但如果你确定该部分代码不会影响测试结果,可以在运行pytest时添加 `-W ignore::DeprecationWarning` 来暂时禁用这个特定类型的警告。
阅读全文