首页 > 解决方案 > 使用 gunicorn 时没有名为“flask_cors”的模块

问题描述

我的应用程序在使用运行时运行正常,python run.py但在使用 gunicorn 运行时,gunicorn run:app它给出了“flask_cors”模块未找到错误。

我创建了一个基本应用程序以使其更易于理解,我对其进行了很多调试,但没有成功,因为它运行良好,python run.py因此在使用 gunicorn 时它应该运行,我想我实际上并不了解 gunicorn 实际上是如何导入它会导致此错误。

工作目录

.
├── flaskblog
│   ├── __init__.py
│   └── routes.py
├── requirements.txt
└── run.py

1 directory, 4 files

__init__.py文件

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app, support_credentials=True)

from flaskblog import routes

路线.py 文件

from flaskblog import app
from flask_cors import cross_origin


@app.route("/")
@cross_origin(supports_credentials=True)
def home():
    return "home"

运行.py 文件

from flaskblog import app

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

要求.txt

Flask
gunicorn
flask-cors

编辑:

我再次运行程序以获取错误跟踪,这一次它有效吗?它从 '127.0.0.1:8000' 开始,所以我使用了gunicorn -b 0.0.0.0 run:app

它现在如何运作?

如果您对该问题有更好的标题,请对其进行编辑,因为现在我的问题是它的奇怪行为。

标签: pythonherokuflaskgunicorn

解决方案


删除了 pycache 并再次创建了环境,这次它可以正常工作并成功托管在 heroku 上。在我的 procfile 里面

web: gunicorn gettingstarted.wsgi
web: gunicorn run:app

推荐阅读