python - fatal error : *. h : No such file or directory. 运行 docker build 命令为 python 项目创建图像时

标签 python docker kubernetes dockerfile

有一个 python 项目,我在“requirement.txt”文件的帮助下定义了依赖项。依赖项之一是 gmpy2。当我运行 docker build -t myimage . 命令时,在执行 setup.py install 的步骤中出现以下错误。

In file included from src/gmpy2.c:426:0:
src/gmpy.h:252:20: fatal error: mpfr.h: No such file or directory
include "mpfr.h"

类似的另外两个错误是:

In file included from appscript_3x/ext/ae.c:14:0:
appscript_3x/ext/ae.h:26:27: fatal error: Carbon/Carbon.h: No such file    
or directory
#include <Carbon/Carbon.h>

In file included from src/buffer.cpp:12:0:
src/pyodbc.h:56:17: fatal error: sql.h: No such file or directory
#include <sql.h>

现在的问题是我如何定义或安装成功构建镜像所需的这些内部依赖项。根据我的理解,gmpy2 是用 C 语言编写的,并且依赖于其他三个 C 库:GMP、MPFR 和 MPC,但无法找到它。

以下是我的 docker 文件:

FROM python:3

COPY . .

RUN pip install -r requirement.txt

CMD [ "python", "./mike/main.py" ]

最佳答案

安装此 apt install libgmp-dev libmpfr-dev libmpc-dev 额外依赖项,然后 RUN pip install -r requirement.txt 我认为它会起作用,您将能够安装所有依赖项并构建 docker 镜像。

FROM python:3

COPY . .

RUN apt-get update -qq && \
apt-get install -y --no-install-recommends \
libmpc-dev \
libgmp-dev \
libmpfr-dev

RUN pip install -r requirement.txt

CMD [ "python", "./mike/main.py" ]

如果 apt 未运行,您可以使用 Linux 作为基础镜像。

关于python - fatal error : *. h : No such file or directory. 运行 docker build 命令为 python 项目创建图像时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56230886/

相关文章:

python - 使用正则表达式查找所有单词小于或等于 2 的句子

python - test_on_batch 和 train_on_batch 的不同损失值

docker - 为什么Docker中的uWSGI无法通过CMD而是通过命令行运行?

docker - 关于Kubernetes集群中的负载平衡的查询

kubernetes - 如何在 kubernetes 中创建一个在 pod 死亡时不会被破坏的卷?

docker - 试图了解 Kubernetes 工作节点和 Pod 与 Docker 的比较 "Service"

python - 使用 Python 3.2 将字符串转换为 float

python - 将带有时区的python日期时间转换为字符串

java - 如何升级Webdriver容器中的chrome版本

docker - 如何让 dockerd 创建具有正确权限的绑定(bind)卷目录