PyCharm运行测试提示ModuleNotFoundError: No module named 'django'求助
解决PyCharm中已安装Django但仍出现ModuleNotFoundError的问题
我之前也碰到过一模一样的情况,大概率是PyCharm没用到你安装Django 2.2.5的那个Python环境。别慌,按下面的步骤一步步排查解决:
1. 检查PyCharm的项目Python解释器配置
这是最常见的原因,PyCharm默认可能用了和你装Django不一样的环境:
- 打开PyCharm,依次点击
File→Settings(Windows/Linux)或者PyCharm→Preferences(Mac) - 找到
Project: slack_bot→Python Interpreter(你的项目名是slack_bot,对应这里的路径) - 看当前选中的解释器路径,是不是你安装Django 2.2.5的那个Python环境?比如如果是虚拟环境,路径应该是
/home/m0nte-cr1st0/projects/slack_bot/venv/bin/python3.6这类;如果是全局安装,就是/usr/bin/python3.6。 - 如果不对,点击右上角的齿轮图标,选择
Add,然后找到对应的Python环境,确认后添加即可。
2. 确认Django在当前选中的环境中
选好解释器后,检查已安装的包列表:
- 在Python Interpreter页面,滚动列表看看有没有Django,版本是不是2.2.5。如果没有,点击
+按钮,搜索Django,选择2.2.5版本安装。 - 也可以直接在PyCharm的终端里运行命令:
看看输出的pip show djangoLocation路径是不是和当前解释器的site-packages目录一致,这样就能确认Django确实在这个环境里。
3. 刷新PyCharm缓存并重启
有时候改完配置需要刷新缓存才能生效:
- 点击
File→Invalidate Caches... - 在弹出的窗口里选择
Invalidate and Restart,让PyCharm重新加载所有配置。
4. 检查测试运行配置
如果你是通过自定义的Run配置运行测试的,也要确保这里的解释器正确:
- 点击
Run→Edit Configurations - 找到你用来运行测试的配置,查看
Python interpreter选项,确认是刚才选的那个安装了Django的环境。
额外提醒
- 如果你用了虚拟环境,要确认是激活虚拟环境后才安装的Django,不然Django可能装到了全局环境里,而PyCharm用的是虚拟环境。
- 你的错误回溯里显示用的是Python3.6,一定要确保安装Django的是同一个3.6版本的环境,避免版本不匹配。
你的错误回溯信息:
Traceback (most recent call last):
File "/usr/lib/python3.6/unittest/loader.py", line 153, in loadTestsFromName
module = import(module_name)
File "/home/m0nte-cr1st0/projects/slack_bot/tests.py", line 4, in
from app.models import *
File "/home/m0nte-cr1st0/projects/slack_bot/app/models.py", line 1, in
from django.db import models
ModuleNotFoundError: No module named 'django'
内容的提问来源于stack exchange,提问作者user11301070
相关产品推荐
相关产品推荐

