Ubuntu 如何为flask引导示例应用程序创建uWSGI入口点文件?

Ubuntu 如何为flask引导示例应用程序创建uWSGI入口点文件?,ubuntu,flask,uwsgi,flask-bootstrap,Ubuntu,Flask,Uwsgi,Flask Bootstrap,我在编写将加载flask引导示例的uWSGI入口点文件时遇到问题,因为我的应用程序的结构不是从ifname==“main”开始的: 我只是尝试使用flask引导示例文件,它有一个不同的flask app.py,它调用另一个文件来运行ifname部分。 我当前的uWSGI入口点文件如下所示: from myproject import app if __name__ == "__main__": app.run() 为我的应用程序提供服务,但我相信我可能需要以不同的方式构建它,因为我的

我在编写将加载flask引导示例的uWSGI入口点文件时遇到问题,因为我的应用程序的结构不是从ifname==“main”开始的: 我只是尝试使用flask引导示例文件,它有一个不同的flask app.py,它调用另一个文件来运行ifname部分。 我当前的uWSGI入口点文件如下所示:

from myproject import app

if __name__ == "__main__":
    app.run()
为我的应用程序提供服务,但我相信我可能需要以不同的方式构建它,因为我的app.py文件不是以这种方式编写的

我的烧瓶app.py如下所示:

import sys

sys.path.append(os.path.dirname(__name__))

from sample_application import create_app


app = create_app()

app.run(host='0.0.0.0')
我将遵循本教程:

考虑
/home/pi/server.py
(如果您在树莓pi上设置此选项)

如果
/etc/uwsgi/apps enabled/server
包括

chdir = /home/pi
home = /home/pi/venv  # if you're using virtualenv
module = server:app
然后uwsgi将知道如何加载服务器(server.py),并期望在
app
中有一个WSGI应用程序。Flask提供了一个WSGI应用程序

由于uwsgi正在进行加载,
如果uuuu name uuuu='\uuuuu main uuu':
将不为真,因此如果server.py读取

from app import create_app

app = create_app()

if __name__ == '__main__':
    app.run(host='0.0.0.0')
您可以通过uwsgi运行它,或者(假设您使用的是虚拟环境)通过


好的,太好了。非常感谢。我能弄明白。我有:

import os
import sys
from sample_application import create_app
sys.path.append(os.path.dirname(__name__))


app = create_app()

if __name__ == "__main__":
    app.run()
FLASK_APP=server.py venv/bin/flask run
import os
import sys
from sample_application import create_app
sys.path.append(os.path.dirname(__name__))


app = create_app()

if __name__ == "__main__":
    app.run()