Django项目中environ模块报AttributeError: module 'environ' has no attribute 'Env'如何解决?
解决django-environ的AttributeError问题
可能的原因及解决步骤
1. 安装了错误的包
你可能误装了名为environ的第三方包,而非django-environ——这两个是完全不同的包,前者没有Env类。
解决:
- 卸载错误的包:
pip uninstall environ -y - 重新安装正确的
django-environ:pip install django-environ - 检查requirements.txt,确保里面写的是
django-environ==*而非environ==*,避免后续再次装错。
2. 虚拟环境不匹配
你安装django-environ的虚拟环境,和当前运行manage.py的环境不是同一个。
解决:
- 激活当前项目使用的虚拟环境,执行
pip list确认列表里有django-environ。 - 如果没有,在激活的虚拟环境里重新安装
django-environ。
3. 项目内存在同名文件
如果你的项目目录(尤其是settings.py所在目录)里有自己创建的environ.py文件,会覆盖第三方包的导入,导致找不到Env类。
解决:
- 搜索项目目录,找到名为
environ.py的文件,重命名为其他名称(比如my_environ.py),避免和第三方包冲突。
4. django-environ版本过旧
旧版本的django-environ可能使用不同的API写法。
解决:
- 升级到最新版本:
pip install --upgrade django-environ
另外,你的.env文件里缺少SECRET_KEY和数据库相关配置,启动后可能还会出现新的错误,记得补充完整这些配置项。
内容的提问来源于stack exchange,提问作者mightycode Newton
相关产品推荐
相关产品推荐

