Plotly Dash 是一个非常流行的纯 Python 的交互式数据可视化 Web框架, 可以让开发者在不懂 js 的情况下, 发布自己的 Data Visualization Web Application,这一点对数据科学家们非常友好。 Plotly Dash 官方网站。 这里介绍一下, 如何用 AWS Elastic Beanstalk 将自己的 Plotly Dash "瞬间" 部署上线。
1. 创建一个 Plotly Dash Demo 应用
1.1 创建 Python 环境
# 创建虚拟环境
virtualenv env
# 安装Dash 包
pip install dash
# 导出python 以来包
pip freeze > requirements.txt
1.2 编写Demo
这里直接使用 Deme Code
import dash
import dash_core_components as dcc
import dash_html_components as html
########### Initiate the app
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
application = app.server
app.title='Dash on AWS EB!'
########### Set up the layout
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
html.Div(children='''
This is Dash running on Elastic Beanstalk.
'''),
dcc.Graph(
id='example-graph',
figure={
'data': [
{'x': ['left', 'center', 'right'], 'y': [3,7,6], 'type': 'bar', 'name': 'category 1'},
{'x': ['left', 'center', 'right'], 'y': [4,2,5], 'type': 'bar', 'name': 'category 2'},
],
'layout': {
'plot_bgcolor': 'lightgray',
'title': 'Graph Title',
'xaxis':{'title':'x-axis label'},
'yaxis':{'title':'y-axis label'},
},
}
)
])
########### Run the app
if __name__ == '__main__':
application.run(debug=True, port=8080)
注意
Elastic Beanstalk 会使用 application 作为程序起点, 这一行不能修改。
application = app.server
1.3 本地测试
可以在本地运行, 进行测试。
python application.py
image.png
2. 打包部署应用
1.1 打包
zip myfiles.zip requirements.txt application.py
网友评论