Python 3.x 停靠期间无法在alpine上安装pycosat
我正在尝试对django应用程序进行dockerize,并使用alpine:edge作为基础图像。和pycosat安装失败并出现错误Python 3.x 停靠期间无法在alpine上安装pycosat,python-3.x,docker,docker-compose,alpine,Python 3.x,Docker,Docker Compose,Alpine,我正在尝试对django应用程序进行dockerize,并使用alpine:edge作为基础图像。和pycosat安装失败并出现错误 In file included from pycosat.c:19: picosat.c:8150:10: fatal error: sys/unistd.h: No such file or directory #include <sys/unistd.h> ^~~~~~~~~~~~~~ compilation termina
In file included from pycosat.c:19:
picosat.c:8150:10: fatal error: sys/unistd.h: No such file or directory
#include <sys/unistd.h>
^~~~~~~~~~~~~~
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1
我怎样才能安装这个库?我是否错过了一些软件包或UTIL之类的东西
此外,我正在使用docker compose构建它pycosat似乎与在Alpine中使用的libc库实现musl不兼容 musl的
unistd.h
头位于系统标头根文件夹,/usr/include
,不在glibc中的/usr/include/sys
下(glibc是defacto Linux libc标准),因此编译失败,导致编译失败,出现fatal error:sys/unistd.h:没有此类文件或目录
作为一种解决方法,您可以在pycosat构建步骤之前,在sys/unistd.h
下创建自己的头文件,其中只包含本机unistd.h
:
RUN echo "#include <unistd.h>" > /usr/include/sys/unistd.h
运行echo“#include”>/usr/include/sys/unistd.h
RUN echo "#include <unistd.h>" > /usr/include/sys/unistd.h