Django启动报错module 'environ' has no attribute 'ENV'如何解决
问题原因
- 类名拼写错误:django-environ 0.8版本提供的配置初始化类为
Env(首字母大写、其余小写),代码中使用全大写的ENV调用不属于官方公开API,因此触发属性不存在报错。 - 依赖包冲突:如果环境中同时安装了与django-environ无关的同名
environ第三方库,Python导入时会优先匹配该库,该库本身没有ENV或Env属性,也会触发同类报错。
解决步骤
- 优先修正代码拼写,将
environ.ENV替换为environ.Env,修改后参考代码如下:
import environ from pathlib import Path env = environ.Env(DEBUG=(bool, False))
- 若修改拼写后仍报错,先卸载冲突包与原有安装包:
pip uninstall -y environ django-environ
- 重新安装指定版本的django-environ:
pip install django-environ==0.8
- 执行以下命令验证安装有效性,无报错即为修复完成:
python -c "import environ; print(environ.Env)"
内容的提问来源于stack exchange,提问作者Agung
相关产品推荐
相关产品推荐

