我试图弄清楚如何使用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/