Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python WSGI应用程序引发了异常_Python_Python 2.7_Flask_Passenger_Flask Sqlalchemy - Fatal编程技术网

Python WSGI应用程序引发了异常

Python WSGI应用程序引发了异常,python,python-2.7,flask,passenger,flask-sqlalchemy,Python,Python 2.7,Flask,Passenger,Flask Sqlalchemy,在服务器上运行flask应用程序代码时,我面临wsgi异常 这是我的manage.py from app import app1, db from flask_script import Manager, Shell from flask_migrate import Migrate, MigrateCommand migrate = Migrate(app1, db) manager = Manager(app1) manager.add_command('db', MigrateComm

在服务器上运行flask应用程序代码时,我面临wsgi异常

这是我的manage.py

from app import app1, db
from flask_script import Manager, Shell

from flask_migrate import Migrate, MigrateCommand
migrate = Migrate(app1, db)

manager = Manager(app1)
manager.add_command('db', MigrateCommand)


def make_shell_context():
    return dict(app=app1, db=db)

manager.add_command("shell", Shell(make_context=make_shell_context))

if __name__ == '__main__':

    manager.run()
和app.py

app1 = Flask(__name__)
app1.config.from_object(config['default'])

rest_api = Api(app1)

db = SQLAlchemy(app1)

bcrypt = Bcrypt(app1)

from app import routes

Compress(app1)
assets = Environment(app1)
define_assets(assets)
cache = Cache(app1,config={'CACHE_TYPE': 'simple'})
在我的本地,没有错误。我使用这个
python manage.py runserver
命令运行我的应用程序

现在,在服务器上,我成功地完成了以下步骤:
python manage.py db init
python manage.py db migrate
python manage.py db upgrade
,它成功地创建并更新了数据库。我已安装
passenger
,为应用程序提供服务

我的
passenger\u wsgi.py
如下所示

from manage import  manager as application
现在,当我运行
乘客启动--port 3003-a'0.0.0'
时,它抛出了这个错误

[ 2016-08-16 07:44:15.0758 30180/7f90226f8700 age/Cor/Con/InternalUtils.cpp:112 ]: [Client 2-1] Sending 502 response: application did not send a complete response
App 30251 stderr: Traceback (most recent call last):
App 30251 stderr:   File "/usr/share/passenger/helper-scripts/wsgi-loader.py", line 163, in main_loop
App 30251 stderr:     socket_hijacked = self.process_request(env, input_stream, client)
App 30251 stderr:   File "/usr/share/passenger/helper-scripts/wsgi-loader.py", line 297, in process_request
App 30251 stderr:     result = self.app(env, start_response)
App 30251 stderr: TypeError: __call__() takes at most 2 arguments (3 given)

将Flask应用程序导入为要运行的应用程序,而不是Flask脚本管理器

from app import app1 as application

Flask脚本管理器用于在命令行上运行命令。它不是WSGI应用程序。您仍然可以使用它来运行其他命令,但WSGI服务器需要Flask应用程序。

manager
不是您的应用程序
app1
app.py
中。管理器仅用于在您的开发环境中管理它。