Restplus API 应用程序对象不可调用?
Restplus API Application object is not callable?
我正在尝试使用 unicorn 运行 一个 Restplus 烧瓶 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)
我就是这样定义文件夹的 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)
我正在使用码头工人,这就是我 运行 gunicorn:
CMD ["gunicorn", "-b", "0.0.0.0:9000", "api:api"]
在主机中我得到同样的错误。仅使用 python 运行代码就可以正常工作。我需要 wsig 文件吗?如果有,我该如何定义?
更新:
我尝试 运行使用女服务员在 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
即
CMD ["gunicorn", "-b", "0.0.0.0:9000", "api:api"]
您目前要求的 gunicorn
是查看模块 api
并检查其中是否存在名为 api
的可调用对象。更正如下
CMD ["gunicorn", "-b", "0.0.0.0:9000", "apy:application"]
来源:
我正在尝试使用 unicorn 运行 一个 Restplus 烧瓶 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)
我就是这样定义文件夹的 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)
我正在使用码头工人,这就是我 运行 gunicorn:
CMD ["gunicorn", "-b", "0.0.0.0:9000", "api:api"]
在主机中我得到同样的错误。仅使用 python 运行代码就可以正常工作。我需要 wsig 文件吗?如果有,我该如何定义?
更新:
我尝试 运行使用女服务员在 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
即
CMD ["gunicorn", "-b", "0.0.0.0:9000", "api:api"]
您目前要求的 gunicorn
是查看模块 api
并检查其中是否存在名为 api
的可调用对象。更正如下
CMD ["gunicorn", "-b", "0.0.0.0:9000", "apy:application"]
来源: