Gunicorn在赫罗库撞毁了Flask



我的应用程序在Heroku上不断崩溃,但在本地和PythonAnywhere上运行良好。

我的Procile是这样的:

web: gunicorn wsgi:app

在我添加的wsgi.py文件中:

from app import create_app
app = create_app()

我的init.py文件位于一个名为";应用程序";

def create_app(config_class=Config):
app = Flask(__name__)
app.config.from_object(Config)
db.init_app(app)
migrate.init_app(app, db)
bootstrap.init_app(app)
from app.main.routes import main
app.register_blueprint(main)
return app
from app import models

这是Heroku追踪的开始:

2021-06-23T06:31:26.214788+00:00 app[web.1]: [2021-06-23 06:31:26 +0000] [10] [ERROR] Exception in worker process
2021-06-23T06:31:26.214792+00:00 app[web.1]: Traceback (most recent call last):
2021-06-23T06:31:26.214793+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
2021-06-23T06:31:26.214794+00:00 app[web.1]:     worker.init_process()
2021-06-23T06:31:26.214794+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/workers/base.py", line 134, in init_process
2021-06-23T06:31:26.214795+00:00 app[web.1]:     self.load_wsgi()
2021-06-23T06:31:26.214795+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
2021-06-23T06:31:26.214795+00:00 app[web.1]:     self.wsgi = self.app.wsgi()
2021-06-23T06:31:26.214796+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-06-23T06:31:26.214796+00:00 app[web.1]:     self.callable = self.load()
2021-06-23T06:31:26.214797+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2021-06-23T06:31:26.214797+00:00 app[web.1]:     return self.load_wsgiapp()
2021-06-23T06:31:26.214797+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2021-06-23T06:31:26.214798+00:00 app[web.1]:     return util.import_app(self.app_uri)
2021-06-23T06:31:26.214798+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/util.py", line 359, in import_app
2021-06-23T06:31:26.214798+00:00 app[web.1]:     mod = importlib.import_module(module)
2021-06-23T06:31:26.214799+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
2021-06-23T06:31:26.214800+00:00 app[web.1]:     return _bootstrap._gcd_import(name[level:], package, level)
2021-06-23T06:31:26.214800+00:00 app[web.1]:   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
2021-06-23T06:31:26.214800+00:00 app[web.1]:   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
2021-06-23T06:31:26.214801+00:00 app[web.1]:   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
2021-06-23T06:31:26.214801+00:00 app[web.1]:   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
2021-06-23T06:31:26.214801+00:00 app[web.1]:   File "<frozen importlib._bootstrap_external>", line 848, in exec_module
2021-06-23T06:31:26.214802+00:00 app[web.1]:   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2021-06-23T06:31:26.214802+00:00 app[web.1]:   File "/app/wsgi.py", line 1, in <module>
2021-06-23T06:31:26.214802+00:00 app[web.1]:     from app import create_app
2021-06-23T06:31:26.214803+00:00 app[web.1]:   File "/app/app/__init__.py", line 2, in <module>
2021-06-23T06:31:26.214803+00:00 app[web.1]:     from config import Config

我的文件夹结构大致如下:

app (folder) --> init.py
# root level
Procfile
wsgi.py
Pipfile
Pipfile.lock
config.py
.env

以上详细信息都是正确的。我犯了一个愚蠢的错误,在目录中有一个.gitignore文件,它阻止了.env被推送。

最新更新