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

执行python manage.py runserver启动Django服务器失败报错求助

问题解决:Django启动报错 ModuleNotFoundError: No module named 'distutils.version'; 'distutils' is not a package

报错信息

(env) C:\Users\aurel\project\Lushlyrics-insecure>python manage.py runserver
C:\Users\aurel\project\Lushlyrics-insecure\distutils.py
Traceback (most recent call last):
  File "C:\Users\aurel\project\Lushlyrics-insecure\manage.py", line 10, in main
    from django.core.management import execute_from_command_line
  File "C:\Users\aurel\project\env\Lib\site-packages\django\__init__.py", line 1, in <module>
    from django.utils.version import get_version
  File "C:\Users\aurel\project\env\Lib\site-packages\django\utils\version.py", line 6, in <module>
    from distutils.version import LooseVersion
ModuleNotFoundError: No module named 'distutils.version'; 'distutils' is not a package

引发的二次异常:

Traceback (most recent call last):
  File "C:\Users\aurel\project\Lushlyrics-insecure\manage.py", line 21, in <module>
    main()
  File "C:\Users\aurel\project\Lushlyrics-insecure\manage.py", line 12, in main
    raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

问题原因

项目根目录下存在自定义的distutils.py文件,与Python标准库的distutils包重名,导致Python导入时优先加载本地文件,而非系统标准库的distutils,进而引发Django依赖导入失败。

解决步骤

  • 定位到项目根目录下的distutils.py文件(路径:C:\Users\aurel\project\Lushlyrics-insecure\distutils.py)
  • 重命名该文件(例如改为custom_distutils.py),或直接删除(确认该文件非项目必需文件)
  • 删除项目根目录下的distutils.pyc文件,以及__pycache__文件夹中与distutils相关的缓存文件
  • 确保虚拟环境处于激活状态,重新执行python manage.py runserver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 01:15:05