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

在AWS EC2部署Django3时遇ModuleNotFoundError: No module named 'django.utils.six.moves'

解决Django 3部署时django.utils.six.moves找不到的问题

错误原因

你遇到的ModuleNotFoundError: No module named 'django.utils.six.moves',根本原因是Django 3已经移除了自带的six兼容模块,但当前使用的django-storages版本太旧,仍在调用Django内置的six路径,和单独安装/卸载six包无关。

错误日志

May 22 17:06:33 ip-172-31-7-56 gunicorn[73506]:     from storages.backends.s3boto3 import S3Boto3Storage
May 22 17:06:33 ip-172-31-7-56 gunicorn[73506]:   File "/home/ubuntu/lighthousemedia/.venv/lib/python3.12/site-packages/storages/backends/s3boto3.py", line 12>
May 22 17:06:33 ip-172-31-7-56 gunicorn[73506]:     from django.utils.six.moves.urllib import parse as urlparse
May 22 17:06:33 ip-172-31-7-56 gunicorn[73506]: ModuleNotFoundError: No module named 'django.utils.six.moves'

解决方案

  1. 升级django-storages到兼容版本
    先激活项目的虚拟环境,再执行升级命令:

    source /home/ubuntu/lighthousemedia/.venv/bin/activate
    pip install --upgrade django-storages
    

    从django-storages 1.10版本开始,已移除对django.utils.six的依赖,适配Django 3+。

  2. 锁定依赖版本(可选)
    如果项目用requirements.txt管理依赖,添加或修改以下内容,避免后续安装旧版本:

    django-storages>=1.10
    
  3. 重启服务生效
    升级完成后,重启gunicorn服务:

    sudo systemctl restart gunicorn
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 12:02:41