我试图弄清楚如何使用uWSGI + nginx将Apache Superset的实例作为Pythonanywhere上的Web应用程序部署。



我已经在Pythonanywhere上安装了一个虚拟环境,并在instructions on the website之后安装并设置了Superset。在Pythonanywhere上启动Superset服务器似乎可以正常工作,但是我找不到任何有关如何与flask一起使用Superset的文档,因此xxx.pythonanywhere.com支持将Superset与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应用程序。在他们的文档中,他们只是简单地说:“请参考您首选技术的文档,以在您的环境中正常运行的方式来设置此Flask WSGI应用程序。”。

/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包装器的东西。

我有一些基本的误解吗?欢迎任何指针。

最佳答案

来自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


只有最后一行才可以运行超集。

关于flask - 在Pythonanywhere上部署Apache Superset,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49387815/

10-12 23:29