命令出错,退出状态为 1:python setup.py egg_info 检查日志以获取完整的命令输出。
#10 3.069 ERROR: Could not find a version that satisfies the requirement mysqlclient==2.0.3
尝试运行 docker build --tag python-docker 时。
Docker 文件:
# syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["python3", "-m", "flask", "run", "--host=0.0.0.0"]
需求.txt:
click==7.1.2
Flask==1.1.2
itsdangerous==1.1.0
Jinja2==2.11.3
MarkupSafe==1.1.1
mysql==0.0.2
mysql-connector==2.2.9
mysqlclient==2.0.3
Werkzeug==1.0.1
答案 0 :(得分:1)
根据 documentation for mysqlclient,您需要在系统上安装 default-libmysqlclient-dev
和编译器,因此如果您在运行 pip install 之前安装它,它应该可以工作(我测试过,但当然没有您的应用代码)
FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
# Install required library libmysqlclient (and build-essential for building mysqlclient python extension)
RUN set -eux && \
export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y default-libmysqlclient-dev build-essential && \
rm -rf /var/lib/apt/lists/*
RUN pip install -r requirements.txt
COPY . .
CMD ["python3", "-m", "flask", "run", "--host=0.0.0.0"]
您还可以将 pip install 添加到第一次运行中(使用 && \
),以便整个设置停留在一个图像层中。