我最近开始使用Docker,但我试图为Flask应用程序构建Docker映像,我遇到了以下错误:
未能构建cffi kiwisolver Pillow psutil错误:无法为psutil构建轮子,这是安装基于pyproject.toml的项目所必需的执行器运行[/bin/sh-cpip-install-r requirements.txt]失败:退出代码:1
它是由线路引起的
RUN pip install-r requirements.txt
据我所知,在我的Dockerfile。
我试着寻找解决方案,到目前为止我发现:-检查docker文件(Dockerfile(的拼写,因为它区分大小写-export DOCKER_BUILDKIT=0导出COMPOSE_DOCKER_CLI_BUILD=0在终端中,但导出未被识别为命令-更新的pip-使用pipinstall安装软件包
我试了试我在网上能找到的所有东西,遗憾的是什么都没用。
我还必须提到我正在开发windows
您应该使用apt安装gcc和python3-dev(如果您在python或ubuntu的基本映像上(。
试试类似的东西:
FROM python:3.11.3-slim
# Install all OS dependencies for fully functional requirements.txt install
RUN apt-get update --yes &&
apt-get upgrade --yes &&
apt-get install --yes --no-install-recommends
# - apt-get upgrade is run to patch known vulnerabilities in apt-get packages as
# the python base image may be rebuilt too seldom sometimes (less than once a month)
# required for psutil python package to install
python3-dev
gcc &&
apt-get clean && rm -rf /var/lib/apt/lists/*
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt
我添加了额外的命令,我认为你应该考虑:
- 更新apt缓存和升级apt包
- 为较小的映像安装带有
--no-install-recommends
的apt包 - 适用于较小图像后的清理
- 在
pip install
期间不缓存pip安装
p.s.在psutil的github上发现问题#2192后,我试图安装gcc和python3dev,通过鸭子去搜索我在docker构建过程中看到的错误。