python - 出现错误 => ModuleNotFoundError: No module named 'django' 当我尝试将我的 django 应用程序部署到 heroku
问题描述
当我尝试将我的 django 应用程序部署到 heroku 时,部署将失败并显示以下错误消息
Traceback (most recent call last):
File "manage.py", line 11, in main
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 23, in <module>
main()
File "manage.py", line 13, in main
raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
这是我的要求.txt
asgiref==3.3.4
dj-database-url==0.5.0
Django==3.2.3
django-cors-headers==3.7.0
django-on-heroku==1.1.2
djangorestframework==3.12.4
gunicorn==20.1.0
psycopg2-binary==2.8.6
python-dotenv==0.17.1
pytz==2021.1
sqlparse==0.4.1
whitenoise==5.2.0
我的档案
release: python3 manage.py migrate
web: gunicorn app_name.wsgi --log-file -
和 buildpacks(使用 nodejs 作为前端)
1. heroku/nodejs
2. heroku/python
我尝试从 CLI 和 github 存储库部署应用程序。两者都会导致相同的错误。
如果需要,我很乐意提供该项目的任何其他信息。
如何修复此错误,以便我的应用程序能够成功部署?
更新
我将我的 Procfile 编辑为以下
web: gunicorn app_name.wsgi --log-file -
当我尝试使用此 Procfile 进行部署时,我的 heroku 日志中出现以下错误
app[web.1]: bash: gunicorn: command not found
因此,Heroku 似乎无法使用我在 requirements.txt 中列出的任何包。关于为什么会发生这种情况的任何猜测?
解决方案
解决了!
我的项目中有一个 Pipfile 和一个 requirements.txt。Heroku 似乎默认读取 Pipfile 来查找依赖项。我只使用 requirements.txt 列出我的依赖项,而我的 Pipfile 没有列出任何依赖项。
解决方案:删除 Pipfile,一切正常!
推荐阅读
- android - Android/Kotlin - 创建两个按钮并应用约束
- angular - 由于某种原因没有出现 Angular 对话框窗口
- dart - 我们在flutter的dev_dependencies下添加的
- c# - 我们如何在 foreach 循环中将行分成 3 列
- android - 在 gradle 中添加 kapt androidx room 会导致数据绑定错误
- angular - Angular 工作区库 - 调试错误:无法解决条目构建错误
- c# - 我收到此错误无法将字符串隐式转换为 system.data.datatable
- c++ - How can I write a better and cleaner version of my bank account code?
- c++ - Getting errors trying to pass a vector to a class's function C++
- python - Python:每组多个统计信息