Docker 无法找到满足 mysqlclient == 2.0.3 要求的版本

时间:2021-05-08 06:41:55

标签: python mysql docker pip

命令出错,退出状态为 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

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 添加到第一次运行中(使用 && \),以便整个设置停留在一个图像层中。

相关问题