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

标签 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

最佳答案

根据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 安装添加到第一次运行(使用 &&\),这样整个设置就停留在一个图像层中。

关于python - Docker 无法找到满足要求的版本 mysqlclient == 2.0.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67444811/

相关文章:

docker-runc 未安装在系统上

python - 如何将 seaborn 库与 pydatatable 一起使用?

Python:使用 def 和 for 循环导出列表中一系列值的多个数组

php - Mysql 找到 result_id where name = "x"然后删除共享结果 id 和名称 ="y"的其他条目

mysql - 使用 LEFT JOIN 结果更新表

node.js - 无法在我的 docker 镜像中安装 bcrypt

docker - Docker应用程序部署DEV与TEST

python - Scipy null_space 没有给我正确的答案

python - pylint 没有这样的文件或目录

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源