多个包 Python,Heroku 未获取 Procfile 文件

Multiple packages Python, Heroku not picking up Procfile file

我正在开发一个包含多个包的 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