Hey @bld2014 I eventually got a dash app to deploy, I had to use the flexible environment because of the packages I was using (if you need pandas you’ll need to use the flexible app engine environment). Here’s the gist of my code.
app.yaml: Here I had to use main:server as server is the flask instance, rather than main:app which you might see on the google app engine tutorials.
entrypoint: gunicorn -b :$PORT main:server
# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
import numpy as np
import pandas as pd
from pandas.io import gbq
from flask import Flask
server = Flask(__name__)
app = dash.Dash(__name__, server=server)
app.scripts.config.serve_locally = True
app.layout = html.Div(...)
if __name__ == '__main__':
If you follow the google app engine flexible guides that should give you most of the process like creating virtual environments and installing packages from requirements.txt etc. You don’t need to copy libraries into a lib folder as in the standard environment when in the flexible environmnent though.
I’m not an expert but this worked for me, hopefully it helps you get going too.