多个Python包,Heroku没有拾取Procfile文件



我正在处理一个包含多个包的python Flask项目。文件夹结构如下:

root
|--programs
|--package_1
|--__init__.py
|--app.py
|--package_2
|--__init__.py
|--pythonfiles2.py
|--package_2
|--__init__.py
|--pythonfiles3.py
|--main.py
|--.env
|--docs
|--requirements.txt
|--runtime.txt
|--Procfile

我在Heroku上主持这个项目,main.py文件如下:

from package_1.app import flask_app
if __name__ == "__main__":
flask_app.run(debug=True)

如上所述,我在其中一个包中初始化了flask_app,然后将其导入到主文件中。此外,项目的Procfile位于programs目录中。

但是,当我部署应用程序时,会出现以下错误:No web processes running

有人知道出了什么问题吗?

谢谢!

编辑:Procfile包含:web gunicorn programs.main:flask_app

您尝试过$ heroku ps:scale web=1吗?

如果这不起作用,你能分享你的Procfile吗?

它不工作的原因是.env文件的位置。与直觉相反,我需要将.env文件存储在programs目录之外。

也就是说,新的文件夹结构是:

root
|--programs
|--package_1
|--__init__.py
|--app.py
|--package_2
|--__init__.py
|--pythonfiles2.py
|--package_2
|--__init__.py
|--pythonfiles3.py
|--main.py
|--docs
|--requirements.txt
|--runtime.txt
|--Procfile
|--.env

相关内容

  • 没有找到相关文章

最新更新