首页 > 编程问答 >使用 Colab 进行 Streamlit

使用 Colab 进行 Streamlit

时间:2024-07-27 14:15:48浏览次数:18  
标签:python dataset google-colaboratory dashboard streamlit

我正在将 Streamlit 与 Colab 一起使用。该单元持续运行,但其共享的链接不起作用。有什么解决方案吗?

enter image description here

我没有收到任何错误。只是链接不起作用。上图中给出了两个链接 http://172.28.0.12:8501/ 我想在 Colab 上运行 Streamlit 应用程序。


你正面临一个常见问题!虽然 Colab 为你的 Streamlit 应用提供了一个运行的后台,但它在公开访问互联网方面存在限制。

以下是如何理解这种情况以及如何解决的方法:

问题所在

  • 本地 vs. 云端: 当你运行 Colab 时,它本质上是在 Google 的服务器(云端)上运行,而不是你的电脑(本地)。 http://172.28.0.12:8501/ 是 Colab 虚拟机内部的地址,但不是互联网上公开可访问的地址。
  • 隧道: 要弥合这种差距,你需要一个“隧道”,它可以安全地将你 Colab 应用的本地端口暴露给更广泛的互联网。

解决方案: ngrok 来帮忙

ngrok 是一个很棒的工具,可以为你提供所需的隧道。以下是使用方法:

  1. 安装 ngrok(在 Colab 内部): python !pip install pyngrok from pyngrok import ngrok

  2. 启动你的 Streamlit 应用(如果尚未启动): python !streamlit run your_app.py &

  3. 使用 ngrok 创建隧道: python public_url = ngrok.connect(8501) print(public_url)

这将为你提供一个 ngrok URL(看起来像 https://xxxxxxxx.ngrok.io ),你可以与任何人共享,让他们访问你的 Streamlit 应用!

重要提示:

  • 每次会话都需要新隧道: 每次关闭 Colab 会话并重新打开时,都需要重复步骤 3。
  • 安全: 虽然 ngrok 的免费层级足以满足基本使用,但对于敏感数据,请考虑他们的付费计划以获得增强的安全性。
  • 其他隧道选项: 还有其他隧道选项可用,例如 localtunnel ,如果你想探索其他选项的话。

我希望这对你有所帮助!如果你有任何其他问题,请告诉我。

标签:python,dataset,google-colaboratory,dashboard,streamlit
From: 77340458

相关文章

  • 使用正则表达式删除Python中常见的公司名称后缀
    我正在努力删除一些公司名称中的后缀。预期结果如下:原始名称:AppleInc.SonyCorporationFiatChryslerAutomobilesS.p.A.SamsungElectronicsCo.,Ltd.清除名称:AppleSonyFiatChryslerAutomobilesSamsungElectronics到目前为止我所做的:importred......
  • 如何将 Brave 网络浏览器与 python、selenium 和 chromedriver 结合使用?
    我从Google的Chrome切换到Brave网络浏览器并且很难让它像Chrome一样与Brave一起使用。Brave是基于Chromium的,所以我猜它应该不会那么难。我确保我的Brave和Chromedriver处于相同版本,像这样,~/some/path$chromedriver--versionChromeDriver76.0.3......
  • 覆盖 python 应用程序时权限被拒绝
    我使用python制作了一个粗略的自动更新应用程序,并使用freeze-cx制作了exe文件。首先,该应用程序检查firebase服务器上是否有最新版本的文件可用,如果可用则下载zip文件。并且应用程序解压并覆盖文件。this_file_path=sys.executableifgetattr(sys,'frozen......
  • Python数据分析案例55——基于LSTM结构自编码器的多变量时间序列异常值监测
    案例背景时间序列的异常值检测是方兴未艾的话题。比如很多单变量的,一条风速,一条用电量这种做时间序列异常值检测,想查看一下哪个时间点的用电量异常。多变量时间序列由不同变量随时间变化的序列组成,这些时间序列在实际应用中通常来自不同的传感器或数据源。多变量时间序列异......
  • 我没有 python 但我有 python3
    我最近格式化了我的笔记本电脑并安装了Ubuntu操作系统。我没有明确安装Python。为了检查它是否已预安装,我在终端中运行python--version并得到了这个:$python--versionCommand'python'notfound,butcanbeinstalledwith:sudoaptinstallpython3......
  • 基于YOLOv9的停车场空闲车位检测【python源码+UI界面+数据集+模型+语音报警+安装说明
    往期精品导航基于YOLOv9的脑肿瘤区域检测智慧课堂基于YOLOv8的学生上课行为检测基于YOLOv9+pyside的安检仪x光危险物物品检测(有ui)基于YOLOv9的PCB板缺陷检测基于YOLOv9的线路绝缘子缺陷检测【python源码+UI界面+数据集+模型+语音报警+安装说明】基于YOLOv9的道路状况检测【......
  • 1-python的数据类型与变量
    一、交互模式与脚本模式交互模式:就相当于一种问答模式,关闭即消失无法保存重用比如python自带的编译器脚本模式:可以将代码长期保存以及重复使用如何创建脚本模式:idle——file——newfile[快捷方式:idle——ctrl+n]保存:ctrl+s运行:F5二、变量(Variable)变量:会变化......
  • 2-Python数据类型——序列
    Python数据类型——序列一、序列序列是一个可以存放多个值的容器。有序序列:在序列中每个值都有对应的下标下标:就相当于酒店的房间号,方便客人的查找与酒店的管理在编程中下标的起始值与日常生活中的计数有所不同:下标的计数从0开始计数,从左往右计数:下标从0开始往右递......
  • crontab 运行 .sh 文件调用 python 脚本
    我有一个pythonselenium脚本,可以打开chrome并为我运行一些自动化任务。在crontab中直接调用python可以使用下面的行。:10.0是我运行echo$DISPLAY时得到的值。我使用的是Ubuntu22.04.4LTS5823**2DISPLAY=:10.0/usr/bin/python3/home/user/Script......
  • Pythonanywhere - ping:套接字:不允许操作
    请帮忙。我有一个Telegram机器人,当我从Bash控制台启动他时,它每60秒ping一次静态IP-它工作正常,但每天停止工作一次。我尝试使用“始终开启任务”,但在日志文件中收到“ping:套接字:不允许操作”。我有5美元帐户,我能做什么?从Bash控制台运行时我看到的内容:---17......