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

Docker部署Django应用报错:找不到django_ec2_complete模块

解决Docker运行Django容器时ModuleNotFoundError问题

常见排查与修复步骤

1. 核对项目结构与Dockerfile工作目录

先确认你的Django项目目录结构是否符合标准:

django-ec2-complete/
├── django_ec2_complete/  # 核心项目模块(含settings.py、wsgi.py)
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── Dockerfile

Dockerfile中需正确指定工作目录并复制项目文件:

WORKDIR /app
COPY . .

若COPY后文件路径不符,Python将无法定位模块。

2. 确认依赖已完整安装

确保Dockerfile中包含依赖安装步骤,比如从requirements.txt安装:

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

缺失Django或相关依赖会直接导致模块找不到。

3. 检查启动命令的模块指向

查看manage.py开头的环境变量设置:

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_ec2_complete.settings')

这里的django_ec2_complete必须和你的实际项目模块名完全一致,启动命令也要确保在manage.py所在目录执行:

CMD ["python", "manage.py", "runserver", "0.0.0.0:8080"]

4. 进入容器验证文件结构

启动交互式容器,直接检查内部文件状态:

docker run -it --rm django-ec2-complete:latest /bin/bash

进入后执行ls确认django_ec2_complete目录存在,再用python -c "import django_ec2_complete"测试模块能否被导入,快速定位问题点。

5. 配置PYTHONPATH环境变量

如果项目路径不在Python默认搜索范围内,在Dockerfile中添加:

ENV PYTHONPATH=/app

强制Python在工作目录下查找模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:02:02