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

Docker部署Python应用遇ModuleNotFoundError:找不到src.scrapers模块

解决Docker中Python模块找不到的问题

问题根源

本地Windows环境执行命令时,当前目录会自动加入Python的模块搜索路径(sys.path),因此能正常识别src模块。但Docker容器内的Python环境默认可能未将工作目录正确纳入搜索路径,导致无法找到src.scrapers模块。

可行解决方案

方案1:将src转为合法Python包

在src根目录创建空的__init__.py文件,让Python识别src为合法包:

touch src/__init__.py

修改后的文件结构:

Dockerfile
requirements.txt
src
├── __init__.py
├── database
├── logs
└── scrapers
    ├── __init__.py
    └── taskmanager.py

方案2:显式设置PYTHONPATH环境变量

在Dockerfile中添加环境变量,强制将工作目录加入Python模块搜索路径:

FROM python:3.10-slim

WORKDIR /app

# 添加这行设置环境变量
ENV PYTHONPATH=/app

COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

COPY . .

CMD ["python", "-m", "src.scrapers.taskmanager"]

方案3:直接运行脚本文件

放弃模块运行方式,改为直接执行脚本路径:

FROM python:3.10-slim

WORKDIR /app

COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

COPY . .

# 修改CMD为直接运行脚本
CMD ["python", "src/scrapers/taskmanager.py"]

验证步骤

构建镜像并运行容器测试:

docker build -t scraper-app .
docker run scraper-app

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:48:30