我正在尝试将Flask应用程序部署到Heroku。该应用程序在本地运行,但是在部署时会发生一些错误。以下是我从日志(选定)中发现的一些问题:
AttributeError: 'NoneType' object has no attribute '_instantiate_plugins'
和
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
我不知道gunicorn错误,但我认为'_instantiate_plugins'
错误是由于以下代码行造成的:
engine = create_engine(os.getenv("DATABASE_URL"))
有些other discussions建议将其更改为
engine = create_engine("postgres://$(whoami)")
但是据我了解,这不是一个好习惯,因为它在代码中公开了数据库URL。我更喜欢在.env
文件中已经设置的环境中导出/设置数据库URL
export DATABASE_URL=postgres://$(whoami)
如何解决此问题?那么,gunicorn错误说明了什么?