我正在将 Streamlit 与 Colab 一起使用。该单元持续运行,但其共享的链接不起作用。有什么解决方案吗?
我没有收到任何错误。只是链接不起作用。上图中给出了两个链接
http://172.28.0.12:8501/
我想在 Colab 上运行 Streamlit 应用程序。
你正面临一个常见问题!虽然 Colab 为你的 Streamlit 应用提供了一个运行的后台,但它在公开访问互联网方面存在限制。
以下是如何理解这种情况以及如何解决的方法:
问题所在
-
本地 vs. 云端:
当你运行 Colab 时,它本质上是在 Google 的服务器(云端)上运行,而不是你的电脑(本地)。
http://172.28.0.12:8501/
是 Colab 虚拟机内部的地址,但不是互联网上公开可访问的地址。 - 隧道: 要弥合这种差距,你需要一个“隧道”,它可以安全地将你 Colab 应用的本地端口暴露给更广泛的互联网。
解决方案: ngrok 来帮忙
ngrok 是一个很棒的工具,可以为你提供所需的隧道。以下是使用方法:
-
安装 ngrok(在 Colab 内部):
python !pip install pyngrok from pyngrok import ngrok
-
启动你的 Streamlit 应用(如果尚未启动):
python !streamlit run your_app.py &
-
使用 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