在Pythonanywhere

时间:2018-03-20 15:09:28

标签: flask pythonanywhere superset apache-superset

我试图找出如何使用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包装器的东西。

我有什么根本的误解吗?欢迎任何指示。

1 个答案:

答案 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

其中只有最后一行才能运行超集。