首页 > 解决方案 > 命令“python setup.py egg_info”在 /tmp/pip-build-dlih6aks/MarkupSafe/ 中失败,错误代码为 1

问题描述

我正在使用https://courses.cognitiveclass.ai/练习 Docker,并尝试Dockerfile使用以下内容运行 a。

FROM python:3.6.1-alpine
RUN pip install flask
CMD ["python","app.py"]
COPY app.py /app.py

我用来运行的命令Dockerfile

sudo docker image build -t python-hello-world .

当我执行此操作时,它只完成了 1/5 步,而 2/5 步失败并出现以下错误。

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-dlih6aks/MarkupSafe/
You are using pip version 9.0.1, however version 21.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c pip install flask' returned a non-zero code: 1

我需要添加任何更改Dockerfile吗?

参考:https ://courses.cognitiveclass.ai/courses/course-v1:IBMDeveloperSkillsNetwork+CO0101EN+v1/courseware/a4f90ba011b740f3b2542acd5fcb7ca6/1baf0640d41543fc9c8b832068551d2c/?child=first

标签: pythondockerpip

解决方案


安装 Markupsafe>=2 (即使是它自己的)看起来有些不对劲,不确定它到底是什么,但作为一个快速修复,您可以在安装烧瓶之前安装以前的版本,它将被正确的 v.2 替换在烧瓶安装期间,但您将避免错误:

RUN pip install markupsafe==1.1.1 flask

更新:甚至更好的解决方案可能是使用更新的 python 图像:

FROM python:3.9-alpine

推荐阅读