Я не могу выполнить файл черточки с помощью Twisted Web Server - PullRequest
0 голосов
/ 06 июля 2018

Честно говоря, я действительно застрял здесь. Мы с коллегой работали над этим в течение последнего дня или около того, и мы не знаем, как получить файл Python, работающий с Twisted Web. Twisted Web - это автономный сервер со встроенным контейнером WSGI, поэтому я хочу, чтобы рисунок из файла python был доступен через порт 8080

Это командная строка, которую я использую для запуска приложения с использованием витой сети. И да, в командной строке он пишется как «твист-паутина».

twistd web --wsgi civfdemo.py --port tcp:8080

И ниже файл civfdemo.py. Каков правильный синтаксис в командной строке и в файле python, чтобы это работало? В настоящее время сообщение об ошибке, которое я получаю, выглядит следующим образом: Нет такого приложения WSGI: 'civfdemo.py'

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()
server = app.server

text_style = dict(color='#444', fontFamily='sans-serif', fontWeight=300)
plotly_fig = [dict(x=[1,2,3], y=[2,4,8])]


app.layout = html.Div(children=[
    html.H1(children='CIVF'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    html.P('Enter a Plotly trace type into the text box,' \
           'such as histogram, bar, or scatter.', style=text_style),

        dcc.Graph(id='plot1', 
                  figure = {          
                          'data' : plotly_fig , 'layout' : {
                        'title' : 'Test Progress'
                    }

                }
            )

])
if __name__ == '__main__':
    app.server.run()

1 Ответ

0 голосов
/ 17 июля 2018

Решение (от GusG):

Проведя еще один долгий день, я наконец заставил его работать с помощью коллеги, но вместо этого был использован другой пакет. Будучи новичком в Python и, конечно, Dash, похлопывая себя по плечу, чтобы выяснить это. Я нашел более простой пакет под названием Flask-Twisted, который объединяет Flask и Twisted вместе. Затем мне пришлось выкопать старый вопрос из проекта, так как одна из строк импорта устарела. Затем, перебрав множество примеров, я наконец-то смог отобразить графики / рисунки, используя тире на веб-сайте. Поэтому я надеюсь, что это может помочь другим, кто может столкнуться с подобными проблемами.

import flask
from flask_twisted import Twisted

from dash import Dash
import dash_core_components as dcc
import dash_html_components as html

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

.... Dash code related to plots and figures

if __name__ == '__main__':
    twisted = Twisted(server)
    twisted.run(host='0.0.0.0',port=8050, debug=False)
...