无需云服务器!通过Plotly Cloud免费快捷部署Dash应用

更多Dash应用开发干货知识、案例,欢迎关注"玩转Dash"微信公众号👇

1 简介

大家好我是费老师。我们平时开发好的Dash应用,为了能够给用户使用,通常都会根据网络环境 的不同,选择在局域网服务器互联网云服务器 进行部署发布,从而为用户提供稳定的应用地址进行访问使用。

而作为对Dash开源框架进行持续维护的Plotly公司,前段时间发布了可提供Dash应用免费托管部署服务 的云平台Plotly Cloud,并在一段时间的内测之后,于今日正式开放 平台功能使用,今天的文章中,我就将针对目前版本的Plotly Cloud平台主要功能做简单介绍。

2 通过Plotly Cloud平台部署Dash应用

2.1 登入Plotly Cloud平台

Plotly Cloud平台访问地址如下:

除了通过邮箱注册账户登入外,我们还可以选择使用GoogleGithub账号关联登录,这里我选择比较方便的Github账号关联登录方式:

登入后默认的首页展示了已创建应用列表,譬如可以看到我之前内测期间测试发布的应用:

2.2 通过平台上传&发布应用

点击右上角按钮创建新项目:

进入项目上传页面:

因为Plotly Cloud目前还处于早期阶段 ,可直接部署的Dash应用项目结构比较简单,目前需要满足下列条件:

  • 项目需包含用于记录依赖库信息的requirements.txt文件
  • 项目需包含必要的app.py应用主文件
  • Dash应用实例化代码app = dash.Dash()目前需要定义在app.py
  • app.py中需要存在明确的server = app.server代码,以便部署时可正确识别应用
  • 整个项目的大小不超过80M

举个例子,下面是一个符合上述条件的简单Dash应用(对应app.py文件):

python 复制代码
import dash
import numpy as np
import pandas as pd
from dash import html
import feffery_antd_components as fac
from feffery_dash_utils.style_utils import style

app = dash.Dash(__name__, serve_locally=False)

server = app.server

demo_df = pd.DataFrame(
    np.random.randint(0, 1000, (100, 5)), columns=[f"字段{i}" for i in range(1, 6)]
)

app.layout = html.Div(
    [
        fac.AntdTable(
            columns=[
                {"dataIndex": column, "title": column} for column in demo_df.columns
            ],
            data=demo_df.to_dict("records"),
            tableLayout="fixed",
            bordered=True,
        )
    ],
    style=style(padding=50),
)

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

以及对应的requirements.txt文件:

txt 复制代码
dash==3.2.0
feffery_antd_components==0.4.2
feffery_dash_utils==0.2.6
numpy
pandas

将相关项目文件上传至Plotly Cloud,再按提示设置应用名称应用访问二级域名Python版本等配置项即可:

点击Save & publish按钮后,会在处理完成后跳转到应用列表页面,可以看到此时多了一条记录,状态显示为Building

等待其状态变为Running后,就可以点击对应记录行最右侧图标跳转访问:

应用访问地址即对应我们前面配置时所填写的:

需要注意的是,通过Plotly Cloud发布的应用,默认只有同样登入了Plotly Cloud平台的用户可直接访问,如果需要任何人都可以通过互联网访问,按下面的步骤进行权限设置即可:

目前Plotly Cloud默认提供免费基础功能权限 ,以及多种规格的高级功能付费权限 ,你可以访问https://cloud.plotly.com/billing查看全部方案,根据自己的需求使用免费或付费的进阶方案,像默认的免费权限就很适合临时性的应用分享预览需求。


更多有关Dash应用开发的干货内容,欢迎持续关注我们❤️

相关推荐
CodeBlog-star26 分钟前
LLM能力与边界:多模态、幻觉、上下文窗口及开源模型对比
人工智能·python·开源·llm
COOLMO研究AI29 分钟前
Python 如何实现 AI API 的动态路由与多通道负载均衡:多账号与多供应商的高可用调度
人工智能·python·负载均衡
菜冻鱼1 小时前
Python-sklearn-降维
开发语言·人工智能·python·机器学习·支持向量机·sklearn
OptimizationMaster1 小时前
Python自动重启中国移动光猫(ZXHN G7611V2)
python·自动化工具·重启中国移动光猫
刀锋00012 小时前
从0到1手搓生产级 AI Agent:LangGraph 1.2 + LangChain 1.3 保姆级实战(全部代码已跑通)
人工智能·python·langchain·ai agent·langgraph
夜雪一千2 小时前
Python 如何实现 SHA 加密?SHA1 / SHA256 / SHA512 实战教程
开发语言·python
码云骑士2 小时前
106-模型量化技术-GGUF-GPTQ-AWQ-bitsandbytes对比
python
御风之翼_唤星者2 小时前
LoadFramePackModel模块报错bad escape
python·ai
摸鱼停不住先生2 小时前
不安全反序列化利用篇(四):预构建 Gadget Chain——从反序列化检测到框架利用
开发语言·python·安全
民乐团扒谱机2 小时前
【微实验】谐波乘积谱(HPS)算法深度解析:原理、数学与代码实现
开发语言·人工智能·python·算法·语音识别·音乐