执行 Azure IoT Edge 任务的构建模块镜像操作时,我在 Azure DevOps 上的一个部署管道失败。我正在尝试部署使用适用于 C# (.NET 6) 的 Azure IoT SDK 开发的自定义模块。
错误消息:
##[错误]/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.12) 或 chardet (3.0.4) 与支持的版本!
我试图包含 this solution作为构建任务之前的 CmdLine 任务。它运行了几次,然后再次失败。
管道已经有一个“临时修复”,单独安装 iotedgedev 作为 this bug 的解决方法
部署日志并没有告诉我们重点关注的地方。我想知道这个问题的原因可能是什么?以及在开发应用程序时是否有快速修复或需要避免的事情(即构建时的警告消息或类似的事情)
最佳答案
简短回答 -> 强制 pyOpenSSL 版本为 22.0.0 (已编辑 09.01.20223)
pip install -U iotedgedev pyOpenSSL==22.0.0 urllib3 requests
原因似乎是报告的错误,该错误与连接到新 pyOpenSSL 版本的依赖性问题相关:github.com/Azure/iotedgedev/issues/589
pyOpenSSL>=20.0.1 on iotedgedev 要求解决了 pyOpenSSL-22.1.0 与 urlib 或 chardet 产生的一些冲突
在这种情况下,临时修复需要“快速”临时修复:D
关于azure - "RequestsDependencyWarning: urllib3 (1.26.12) or chardet (3.0.4) doesn' t 与受支持的版本匹配!”在 Azure DevOps - Azure IoT Edge 任务 - 构建中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73960832/