gpt4 book ai didi

python - Restplus API应用程序对象不可调用?

转载 作者:行者123 更新时间:2023-12-01 00:19:51 26 4
gpt4 key购买 nike

我正在尝试使用 unicorn 运行 Restplus Flask API,但我不断收到此错误:

Application object must be callable.

我正在使用 sqlalchemy 进行数据库连接和模型。这是我的 apy.py 主文件:

from apis import api
from database import db
import os

application = Flask(__name__)
application.config.from_object('config.DevelopmentConfig')

application.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(application)

api.init_app(application)

if __name__ == '__main__':
application.run(debug=True)

这就是我使用 enpoint 定义文件夹的 init.py 的方式,以便我可以将它们组织起来:

from flask_restplus import Api

from .status import api as status
from .cats import api as cats

api = Api(
title='TEST API',
version='1.0',
description='A description',
)

api.add_namespace(status)
api.add_namespace(cats)

我正在使用 docker,这就是我运行 Gunicorn 的方式:

CMD ["gunicorn", "-b", "0.0.0.0:9000", "api:api"]

在主机中我遇到了同样的错误。仅使用 python 运行代码就可以正常工作。我需要 wsig 文件吗?如果是这样,我应该如何定义它?

更新:

我尝试使用 waitress 在 Windows 10 上运行它,当我尝试连接它时出现此错误:

Serving on http://MR:9000
ERROR:waitress:Exception while serving /
Traceback (most recent call last):
File "c:\users\mr\appdata\local\programs\python\python37\lib\site-packages\waitress\channel.py", line 356, in service
task.service()
File "c:\users\mr\appdata\local\programs\python\python37\lib\site-packages\waitress\task.py", line 172, in service
self.execute()
File "c:\users\mr\appdata\local\programs\python\python37\lib\site-packages\waitress\task.py", line 440, in execute
app_iter = self.channel.server.application(environ, start_response)
TypeError: 'Api' object is not callable

那么错误是在我尝试连接它时出现的?

最佳答案

您的错误在于对 gunicorn viz 的调用中。

CMD ["gunicorn", "-b", "0.0.0.0:9000", "api:api"]

您当前要求的gunicorn是查看模块api并检查其中是否有名为api的可调用对象。更正为以下内容

CMD ["gunicorn", "-b", "0.0.0.0:9000", "apy:application"]

来源:

  1. http://docs.gunicorn.org/en/stable/run.html#gunicorn

关于python - Restplus API应用程序对象不可调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com