Веб-приложение Python Dash вызывает внутреннюю ошибку сервера

1

Попытка развернуть приложение Dash на сервере Ubuntu 18.04. Любое приложение-червь повышает внутреннюю ошибку сервера. Никакого простого флеш-приложения нет. Мне удалось сузить проблему, импортировав компоненты штрих-кода или dash-html-компоненты в скрипт приложения Flask, фактически не используя их. Это вызывает проблему. По-видимому, импортировать эти пакеты достаточно, чтобы выбросить ошибку сервера.

Все пакеты штрих-кода были правильно установлены вместе с pip. Я использую apache2 и mod_wsgi для публикации приложения.

Изменить: приведенная выше ошибка была неправильной, так как компоненты dash-core должны быть написаны dash_core_components.

Edit2: Я втягиваю первое редактирование. Наконец, я могу заключить, что импорт dash_html_components в приложении Flask (только для тестирования) вызывает ошибку сервера.

Это работает:

from flask import Flask
import sys

app = Flask(__name__)

@app.route('/')
def homepage():
    return "Hello"

if __name__ == "__main__":
    app.run()

Это вызывает ошибку внутреннего сервера:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div(children=['hello'])

server = app.server

if __name__ == '__main__':
    app.run_server(debug=True)

Основываясь на приведенном выше объяснении, я делаю вывод, что ошибка dash_html_components. Есть ли объяснения для этого?

  • 0
    он import dash_core_components с _ not - также это не приложение-приборная панель, оно использует только колбу.
  • 0
    Хотя я это знаю. Я сделал это с целью проверить, не приведет ли простой импорт пакета dcc к проблемам. При вводе правильно (действительно с _) это не так. Тем не менее, проблема остается.
Теги:
plotly-dash

2 ответа

0
Лучший ответ

Хорошо. В моем тестировании приложение Flask работало отлично. Одно и то же приложение Flask с импортной тире или импортными параметрами dash_core_components, которые были случайно выбраны в обработанном порядке. Как только я бросил импорт dash_html_components, я получил ошибку сервера. Все пакеты штрих-кода были правильно установлены с помощью pip, поэтому я не знаю, почему просто импортировать html-компоненты приведет к ошибке сервера.

Я исправил свою проблему, просто выполнив жесткий сброс сервера Ubuntu 18.04, снова пройдя все шаги, установив python3.6, pip3.6, apache2, wsgi и тире пакетов. На этот раз приложения с тире не создают ошибку сервера.

0

Я не пробовал использовать чертовое приложение на сервере Ubuntu 18.04, но я успешно развернулся на герой с автономным сервером WSGI (gunicorn). Что касается ошибки вашего сервера, я не совсем уверен, откуда это может произойти (возможно, версия времени исполнения python?). Одна вещь, которую вы должны попробовать, - использовать флягу для создания сервера, а затем указать сервер при создании приложения-черточки:

import flask
import dash

server = flask.Flask(__name__)
app = dash.Dash(__name__, server=server)

Если вы отчаянно пытаетесь развернуть свое приложение, вы можете временно использовать героку, они предлагают очень простой способ развертывания фляжных приложений. Одно предостережение, убедитесь, что вы используете версию исполнения python2, а не python3!

Для вашего удобства здесь представлены графические документы по развертыванию тире приложений. Существует простой пример развертывания heroku https://dash.plot.ly/deployment

  • 1
    Благодарю. Я исправил проблему, настроив сервер снова. По какой-то причине ошибка больше не возникает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню