新建Django项目执行runserver时出现ModuleNotFoundError问题求助
问题描述
在全新虚拟环境中创建的Django空项目(WEB_QUIZ)里,运行开发服务器时触发ModuleNotFoundError,错误指向完全无关的旧项目“Carshering”,且涉及Bootstrap导入。错误日志包含<frozen importlib._bootstrap>,已尝试安装两个Bootstrap相关模块,但问题依旧。
错误日志
运行python manage.py runserver时的报错:
(venv) C:\Users\karpi\PycharmProjects\WEB_QUIZ>python manage.py runserver Traceback (most recent call last): File "C:\Users\karpi\PycharmProjects\WEB_QUIZ\venv\Lib\site-packages\django\core\management\base.py", line 412, in run_from_argv self.execute(*args, **cmd_options) ... ModuleNotFoundError: No module named 'Carshering'
处理上述异常期间触发的二次报错:
Traceback (most recent call last): File "C:\Users\karpi\PycharmProjects\WEB_QUIZ\manage.py", line 22, in <module> main() ... ModuleNotFoundError: No module named 'Carshering'
已尝试操作
- 在全新虚拟环境中创建新的Django项目
- 使用pip安装Bootstrap相关模块
- 确认虚拟环境已激活并检查已安装软件包
- 执行
python manage.py makemigrations,仍触发相同错误 - 设置PYTHONPATH环境变量
补充信息
- Django版本:4.2.3
- Python版本:3.11
- 额外安装的模块:django-bootstrap-form 3.4、crispy-bootstrap5 0.7(为尝试解决问题而安装)
解决方案
检查项目配置文件
打开settings.py,确认INSTALLED_APPS、TEMPLATES、STATICFILES_DIRS等配置项中,没有引用到“Carshering”相关的内容,比如误添加的旧项目应用、模板路径。清理Python缓存
删除项目根目录下所有__pycache__文件夹,同时删除虚拟环境内的缓存文件;也可以在运行命令时加上-B参数禁用缓存生成:python -B manage.py runserver。验证入口文件配置
检查manage.py、wsgi.py、asgi.py中的项目名称是否为当前的WEB_QUIZ,确保没有残留旧项目“Carshering”的引用。重置环境变量
重启终端,重新激活虚拟环境,确保PYTHONPATH仅包含当前项目目录和虚拟环境的site-packages路径,避免残留旧项目的路径配置。检查IDE关联配置
如果使用PyCharm等IDE,进入「File > Settings > Project: WEB_QUIZ > Python Interpreter」,确认解释器是当前虚拟环境,且没有额外添加“Carshering”项目的路径;同时检查「Project Structure」,确保没有错误关联旧项目。
内容的提问来源于stack exchange,提问作者Piotr Karmelita

