这个问题可能没有一个“正确答案”。我对想法和意见感兴趣。 我们有几百个 RHEL7/Centos7/Rocky8 节点。其中许多都通过 pip/pip3 安装了 python 模块。
我一直在寻找例行/每月修补这些模块的最佳实践......所以我到目前为止还没有找到任何。显然用 rpm/yum/dnf 安装的东西很容易处理。
来自 pip 手册页:
pip install --升级 SomePackage
太棒了! 但如何更新所有这些呢?
当然。可以对 awk 等执行“pip list/freeze”管道。 当然,还有更好的方法。理想情况下,捕获诸如“boto3 V1.2 替换为 boto3 V1.3”之类的内容 现在感觉好像只有我一个人在思考这个问题。也许我就是这样,而且这很愚蠢。我也同意这个回应(但请告诉我原因)。
一个常见的解决方案是将应用程序代码部署在 Docker 容器内 - 容器映像包含自己的 Python 版本和所有依赖模块,因此您不必单独更新所有主机上的每个模块。 这也意味着您部署的操作系统、Python 和模块的组合可以进行测试,然后“冻结”成不可变的映像,然后在任何地方都以相同的方式部署。
现在感觉好像只有我一个人在想这个问题。
我意识到上述答案可能对您的情况没有帮助,因为您已经部署了相当大的系统...但它可能有助于解释为什么没有多少人为您的问题开发解决方案!