我正在尝试在 Heroku 上设置一个测试 Django 项目。遵循此处和Heroku 入门中的建议,我尝试使用gunicorn
而不是 Django 开发服务器。
这是我第一次尝试 Procfile:
web: gunicorn_django --workers=4 --bind=0.0.0.0:$PORT my_project/settings.py
worker: python my_project/manage.py celeryd -E -B --loglevel=INFO
这给了我这个错误:
ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py
我决定采取不同的方式并遵循这里的建议。现在我的 Procfile 看起来像这样:
web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload my_project.settings
(我还更新了我的需求文件以包含 gevent。)它给了我同样的错误:
ImportError: Could not import settings
最后,我只是将其设置为settings
:
web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload settings
但现在我得到这个错误:
Error: django project not found
我的 Django 项目的设置方式是该settings.py
文件位于 repo 的父目录中——我没有另一个目录下的 Django 项目。它与 virtualenv 和 git 文件处于同一级别。那会是个问题吗?我确定我在做一些简单的错误 - 任何帮助将不胜感激。
如果我按照 Heroku here的说明将 Procfile 更改为:
web: gunicorn hellodjango.wsgi -b 0.0.0.0:$PORT
什么都没有发生——日志中没有错误,但没有运行任何进程,应用程序看起来就像死在水中一样。