执行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
相关产品推荐
相关产品推荐

