我试图找出如何使用uWSGI + nginx在Apache Superset上将Pythonanywhere的实例部署为网络应用。
我已经在Pythonanywhere上安装了一个虚拟环境,并在instructions on the website之后安装并设置了Superset。在Pythonanywhere上启动Superset服务器似乎工作正常,但我无法找到有关如何将Superset与flask一起使用的任何文档,以便Superset可以与xxx.pythonanywhere.com支持的uWSGI + nginx一起使用。
wsgi文件很简单:
import sys
project_home = u'/home/tmo/testsite'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
from flask_app import app as application
据我所知,在PythonAnywhere上,WSGI方面由/var/www/you_domain_wsgi.py中的每个域的文件管理。它需要定义一个名为application的变量,它与 init .py。中的应用相同,但是在运行superset runserver
时我无法看到如何部署任何类型的Flask应用。在他们的文档中,他们只是声明&#34; 请参考您首选技术的文档,以适合您环境的方式设置Flask WSGI应用程序。&#34;。< / p>
<{1>} /superset/bin/
中有一个名为flask
的文件,其中包含
import re
import sys
from flask.cli import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
但我真的找不到任何可以远程看起来像Superset的Flask包装器的东西。
我有什么根本的误解吗?欢迎任何指示。
答案 0 :(得分:2)
来自Pythonanywhere suggested this simple solution的giles:
import superset
from superset import app as application
立即起作用。例如。整个烧瓶文件看起来像
import sys
import superset
project_home = u'/home/tmo/testsite'
if project_home not in sys.path:
sys.path = [project_home] + sys.path
from superset import app as application
其中只有最后一行才能运行超集。