小编piw*_*wai的帖子

如何在 dockerfile 中升级 pip?

在我们为 python 项目构建镜像的 Dockerfile 中,我们有这样一行将 pip 升级到最新版本:

RUN pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

这已经工作了一段时间了,但最近图像构建开始失败,因为我们使用的是 python 3.6.1,最新版本的 pip (21.1) 现在需要 python >= 3.6.2,否则你会得到一个“ImportError:不能导入名称 NoReturn”,参见https://github.com/psf/black/issues/1666

除了升级我们的 Python 版本来解决这个问题之外,我想知道我们是否真的应该运行这个命令来在 Dockerfile 上下文中升级最新版本,因为这样做时我们不再获得可重现的图像,因为 pip 版本将继续移动,这违背了 Docker 可重现环境的概念。

那么,我们是否应该指定确切的 pip 版本以保持可重现的构建,即使这意味着在某些时候它会过时?或者是否有另一种选择可以确保我们的图像在新的 pip 版本发布时继续工作?

python pip docker

4
推荐指数
1
解决办法
7180
查看次数

标签 统计

docker ×1

pip ×1

python ×1