我试图弄清楚如何使用Apache Superset在毕多芬上使用uWSGI+nginx部署一个web应用程序的实例。
我已经在Pythonanywhere上安装了一个虚拟环境,并在网站说明之后安装和安装了超级集。在Pythonanywhere上启动一个Superset服务器似乎是可行的,但是我找不到任何关于如何将Superset与烧瓶一起使用的文档,因此Superset可以像xxx.pythonanywhere.com所支持的那样与xxx.pythonanywhere.com一起使用。
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_domainwsgi.py中的每个域的一个文件管理。它需要定义一个名为application的变量,它与您的init.py中的应用程序相同,但我不知道在运行superset runserver时如何部署任何类型的superset runserver应用程序。在他们的文档中,他们只是声明“请参考您喜欢的技术文档,以便以一种在您的环境中运行良好的方式来设置这个Flask应用程序”。
在/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的烧瓶包装器的东西。
有什么基本的东西我误解了吗?
发布于 2018-03-21 07:55:54
来自Pythonanywhere 建议了这个简单的解决方案的giles
从超集导入应用程序导入超集作为应用程序
立刻就起作用了。整个烧瓶文件看起来就像
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其中只有最后一行是运行超集所必需的。
https://stackoverflow.com/questions/49387815
复制相似问题