Django教程测试环节遇ModuleNotFoundError(dotenv)问题求助
解决Django投票应用测试中的
dotenv模块找不到错误 错误根源
你的项目settings.py中存在调用python-dotenv的代码(比如import dotenv或dotenv.load_dotenv()),但该包未正确安装,导致导入Question模型时触发依赖错误。Django官方教程默认不会引入这个包,大概率是你手动添加或使用了带该依赖的项目模板。
解决方案
方案1:移除dotenv相关代码(推荐,贴合官方教程)
打开项目的settings.py,搜索并删除所有和dotenv有关的代码行,比如:
import dotenv dotenv.load_dotenv()
删除后保存文件,重新运行python manage.py shell,即可正常导入Question模型,直接按照官方教程的代码继续操作。
方案2:正确安装python-dotenv
如果确实需要保留dotenv的配置:
- 确保激活项目的虚拟环境(如果使用了):
- Windows:
venv\Scripts\activate - Linux/macOS:
source venv/bin/activate
- Windows:
- 尝试指定版本安装,避免版本兼容问题:
pip install python-dotenv==1.0.0 - 安装完成后重新进入shell测试。
关于是否可按教程代码继续
只要移除settings.py中多余的dotenv相关代码,就能完全回到官方教程的初始环境,直接按照教程的代码修改和测试即可,不会有任何影响。
内容的提问来源于stack exchange,提问作者user17598401
相关产品推荐
相关产品推荐

