Развертывание Apache Superset на Pythonanywhere

Я пытаюсь понять, как развернуть экземпляр Apache Superset в качестве веб-приложения на Pythonanywhere с использованием uWSGI + nginx.


Я установил виртуальную среду на Pythonanywhere, установил и настроил Superset, следуя инструкциям на веб-сайте. Запуск сервера Superset на Pythonanywhere, похоже, работает, однако я не могу найти никакой документации о том, как использовать Superset вместе с flask, так что Superset можно использовать с uWSGI + nginx, как это поддерживается 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_domain_wsgi.py. Ему необходимо определить переменную с именем application, которая совпадает с приложением в вашем init .py., Но я не вижу, как развертывается какое-либо приложение Flask при запуске superset runserver. В своей документации они просто заявляют: «См. Документацию по предпочитаемой технологии, чтобы настроить это приложение 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())

Но я не могу найти ничего, что могло бы удаленно выглядеть как оболочка Flask для Superset.

Есть ли что-то фундаментальное, что я неправильно понял? Любые указатели приветствуются.


person tmo    schedule 20.03.2018    source источник


Ответы (1)


giles из Pythonanywhere предложил это простое решение:

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

где для запуска суперсета необходима только последняя строка.

person tmo    schedule 21.03.2018