Git Product home page Git Product logo

Comments (19)

pl77 avatar pl77 commented on May 12, 2024 6

Did you try the suggestion at the bottom of the user guide?

https://plot.ly/dash/external-resources

from dash import Dash

app = Dash()

app.css.config.serve_locally = True
app.scripts.config.serve_locally = True

from dash.

chriddyp avatar chriddyp commented on May 12, 2024 2

Did you try the suggestion at the bottom of the user guide?

https://plot.ly/dash/external-resources

from dash import Dash

app = Dash()

app.css.config.serve_locally = True
app.scripts.config.serve_locally = True

That's it exactly. The dcc.Graph objects should be rendered offline too.

Here is a standalone example that works for me with my wifi turned off:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash('offline example')

app.layout = html.Div([
    dcc.Graph(id='my-graph', figure={'data': [{'x': [1, 2, 3], 'y': [4, 1, 2]}]})
])

app.css.config.serve_locally = True
app.scripts.config.serve_locally = True

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

dash_offline

@sbowman-mitre - Could you try this example and see if it works?

from dash.

chriddyp avatar chriddyp commented on May 12, 2024 2

Thanks @sbowman-mitre ! I'll close this issue but I've opened a secondary one for this more specific problem with serving files on windows: #56

from dash.

pl77 avatar pl77 commented on May 12, 2024 1

Oh that won't help then, as they are generating the figure directly in dash. The offline library I referenced only helps when the graph is being generated in a callback. Disregard my suggestion.

from dash.

chriddyp avatar chriddyp commented on May 12, 2024 1

Thanks for reporting @sbowman-mitre ! I've actually seen this before. In this case, the flask server is having trouble serving the large javascript bundle (1MB or larger) from the file system. I've only seen this happen on Windows machines and servers.

I'm not yet sure how to resolve this or make this more stable.

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

Thanks for opening this, @marugari . This offline behavior is what I was wondering about too. When I try the recommended fix, I am unable to render dcc.Graph() objects. Is this expected behavior when running offline?

from dash.

jackluo avatar jackluo commented on May 12, 2024

Graph() objects should be rendered offline. Can you post the errors you are having?

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

I don't get an error in the browser or the console running dash. I just don't get a page load. At the browser level, the HTML just renders "Loading..." and never gets passed that (waited for quite a while).

from dash.

pl77 avatar pl77 commented on May 12, 2024

I'm going from memory as I am not running dash offline now, but are you importing plot from plotly.offline?

for example:

from plotly.offline import download_plotlyjs, plot

otherwise it'll still try and get the plotlyjs file from the CDN.

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

No, I'm not. I'm just running the first tutorial (here) which does not import anything specifically from plotly. I will try your import statement and report back.

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

Yes, your example does render for me. That's good news!

Yes, I had added those lines to my script and it did not render. Here's the entirety of my script:

# -*- coding: utf-8 -*-
import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

# Force offline usage (also fails to render graph, issue #46)
app.css.config.serve_locally = True
app.scripts.config.serve_locally = True

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

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

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
            ],
            'layout': {
                'title': 'Dash Data Visualization'
            }
        }
    )
])

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

from dash.

marugari avatar marugari commented on May 12, 2024

My thanks to @pl77 and @chriddyp.
I think "Rendering dash apps offline"(https://plot.ly/dash/external-resources) should be independent.

from dash.

chriddyp avatar chriddyp commented on May 12, 2024

Great, thanks! @sbowman-mitre - that script that you posted actually works for me OK:
dash_offline_2

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

Okay, good to know. That means it's something on my end. Maybe my browser (which is up-to-date Chrome)? But, good to know the general concept should be working.

from dash.

chriddyp avatar chriddyp commented on May 12, 2024

Hm.. I'm not sure what it could be. I have down some browser testing on these apps. If open up the Chrome Dev Tools, are there any red errors printed out?

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

@chriddyp : curiously, the script loads under some conditions today. Not sure what that means; I haven't rebooted in the meantime. 🤷‍♂️ When it doesn't load, here's the devtools view:
image

from dash.

sbowman-mitre avatar sbowman-mitre commented on May 12, 2024

Well, doesn't sound like there's much you can do except raise it up to the flask group. You can close this issue (from my perspective, anyway).

from dash.

prncevince avatar prncevince commented on May 12, 2024

This was outstanding help. Thank you.

from dash.

highwindmx avatar highwindmx commented on May 12, 2024

just a kind reminder, firefox addons such as "Decentraleyes" which block cdn tracking may a reason why your page not loading properly.

from dash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.