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

Docker运行Python镜像报ModuleNotFoundError: No module named 'config'求助

报错核心原因

你构建的镜像中config.py存放在/backend根目录,而你启动的server.py运行时Python默认的模块搜索路径未包含/backend目录,所以执行import config时无法找到对应文件。

第一步:排查确认问题
  • 验证config.py是否成功复制到镜像对应路径,执行命令:
    docker run --rm <你的镜像名> ls /backend
    如果输出结果中没有config.py,说明Dockerfile的COPY步骤执行失败,需检查本地文件路径是否正确;如果存在,就是Python模块搜索路径的问题。
  • 临时修改server.py代码,在import config前添加以下代码确认搜索路径:
import sys
print(sys.path)

运行镜像后查看输出的路径列表,确认是否包含/backend。

解决方案

方案1:添加PYTHONPATH环境变量(最推荐,无业务代码侵入)

在Dockerfile的CMD指令前新增一行配置,将项目根目录加入Python搜索路径:

ENV PYTHONPATH=/backend

修改后重新构建镜像即可正常运行,不需要修改任何业务代码。

方案2:调整启动命令

将原CMD指令替换为以下任意一种:

  1. 以模块方式启动服务
CMD [ "python", "-m", "api.service.server" ]
  1. 切换到根目录后启动脚本
CMD ["sh", "-c", "cd /backend && python ./api/service/server.py"]

方案3:修改业务代码导入逻辑(不推荐,侵入性高)

在server.py的import config前手动添加根目录到搜索路径:

import sys
sys.path.append('/backend')
import config

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:45:05