在将Django部署到Heroku时,我得到了一个ModuleNotFoundError: No module named 'dotenv'错误。但是,我的requirements.txt中确实列出了python-dotenv。所以我很困惑为什么Heroku对dotenv不满意。
这是我的requirements.txt:
cffi==1.14.2
cryptography==3.1
dj-database-url==0.5.0
Django==3.1.1
django-cors-headers==3.5.0
django-heroku==0.3.1
django-rest-knox==4.1.0
django-simple-email-confirmation==0.70
djangorestframework==3.11.1
gunicorn==20.0.4
psycopg2==2.8.6
pycparser==2.20
python-dotenv==0.14.0
pytz==2020.1
six==1.15.0
sqlparse==0.3.1
whitenoise==5.2.0发布于 2020-09-10 06:18:12
我不知道这是否会有帮助,但我在部署到Heroku时遇到了这个错误,但在我的情况下,我使用的是pipenv,问题是我使用的是pip install而不是pipenv install,问题是我是在pip install而不是pipenv install中安装它,一旦我在那里完成了所有的安装它就起作用了,我不记得a是否做了像pipenv> requirements.txt这样的事情。
发布于 2020-09-10 06:57:43
尝试使用django-dotenv而不是python-dotenv
不确定您在settings.py中有哪些导入,但可以尝试以下内容:
# settings.py
import os
SECRET_KEY = os.getenv('SECRET_KEY')如果您尝试在设置文件的顶部导入dotenv,则可能需要删除它。
还要记住将这些环境变量添加到Heroku应用程序设置下的“Config Vars”中。这些应该在你推向Heroku之前就已经存在了。
发布于 2021-01-11 18:42:58
尝试卸载该程序包,然后重新下载,并检查它是否在requirements.txt文件中。
https://stackoverflow.com/questions/63819521
复制相似问题