致命错误:*.h:没有这样的文件或目录。运行docker build命令为python项目创建映像时

致命错误:*.h:没有这样的文件或目录。运行docker build命令为python项目创建映像时,python,docker,kubernetes,dockerfile,Python,Docker,Kubernetes,Dockerfile,在一个python项目中,我在“requirement.txt”文件的帮助下定义了依赖项。其中一个依赖项是gmpy2。当我运行docker build-t myimage.命令时,它在执行setup.py安装的步骤中给出以下错误 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" 类似地,其他两个错误

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

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>

安装此
apt Install libgmp dev libmpfr dev libmpc dev
extra dependency,然后
运行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作为基本映像。

您需要修改Dockerfile,以便使用
apt get install
安装其他C库。(默认的Python3映像基于Debian映像)

它使用

sudo apt-get install unixodbc-dev

但是,我确实不确定对
Carbon.h
的要求,因为这是一个特定于OSX的头文件。您的需求文件中可能存在无法在基于Linux的映像上运行的特定于OS X的依赖项。

错误:包'libmpfr dev'没有安装候选项错误:包'libmpc dev'没有安装候选项命令'/bin/sh-c apt install libgmp dev libmpfr dev libmpc dev'返回非零代码:100终端正在退出命令提示符查看输出:。。。。。。。。。libgmp-dev已经是最新版本(2:6.1.2+dfsg-1)。建议的软件包:libmpfr doc将安装以下新软件包:libmpc dev libmpfr dev 0已升级,2个新安装,0要删除,3个未升级。需要获得256 kB的存档。执行此操作后,将使用1324 kB的额外磁盘空间。你想继续吗?[Y/n]中止。命令“/bin/sh-c apt install libgmp dev libmpfr dev libmpc dev”返回了一个非零代码:1更新输出后是-命令“/bin/sh-c apt get update-qq&&apt get install-y-no install建议libmpc dev libgmp dev libmpfr dev RUN pip install-r requirement.txt”返回了一个非零代码:100remove last'\'from-libmpfr dev\在更新的答案中,现在正在安装。太棒了!它解决了一个依赖关系,非常感谢!!(Y) 错误:包“libgmp3 dev”没有安装candidate@VenuGopalTewari您可以运行
lsb_release-a
来识别您的操作系统发行版和版本吗?在处理软件包问题时,这是一个很好的起点。
sudo apt-get install libgmp3-dev
sudo apt-get install libmpfr-dev
sudo apt-get install unixodbc-dev