You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行docker-compose build时提示setup.py不存在的问题求助

解决Docker构建时"setup.py not found"的问题

核心排查方向

1. 检查.dockerignore文件

这是最常见的触发原因:如果项目根目录存在.dockerignore文件,且里面包含*、setup.py或其他排除当前目录文件的规则,会导致ADD . /opt/命令无法将setup.py等核心文件复制到镜像中。

  • 解决方式:
    • 若不需要该文件,直接删除.dockerignore;
    • 若需要保留,修改文件内容确保必要文件不被忽略:
      !setup.py
      !requirements.txt
      !parse_arg/
      

2. 验证Build上下文的文件存在性

在执行docker-compose build的目录下,运行以下命令确认目标文件确实存在:

ls -l setup.py requirements.txt parse_arg/

如果输出中没有这些文件,说明你在错误的目录执行了构建命令,切换到包含所有文件的项目根目录重试即可。

3. 调试Dockerfile的文件复制步骤

在Dockerfile的ADD . /opt/之后添加一行调试命令,确认文件是否被正确复制到镜像内:

ADD . /opt/
# 新增调试命令,查看/opt目录下的文件
RUN ls -la /opt/
RUN sed -i "s/version='\(.*\)'/version='"$BUILD_VERSION"'/g" /opt/setup.py \
    && cd /opt \
    && python setup.py sdist \
    && pip install dist/* \
    && cd / \
    && rm -rf /opt/*

重新构建时,会输出/opt目录的文件列表,如果看不到setup.py,说明文件确实未被复制,回到第一步排查.dockerignore。

优化建议(可选)

为了避免复制不必要的文件、减少镜像体积,同时确保核心文件被精准包含,可以将ADD . /opt/替换为针对性的COPY命令:

COPY setup.py requirements.txt /opt/
COPY parse_arg/ /opt/parse_arg/

内容的提问来源于stack exchange,提问作者GWJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 21:46:07