Google Colab中使用localtunnel未生成访问URL问题求助
解决Google Colab中Streamlit+Localtunnel无法生成访问链接的问题
问题重现
在Colab中完成Streamlit安装、创建测试app后,执行以下命令启动服务并调用localtunnel:
!streamlit run /content/app.py & npx localtunnel --port 8501
仅输出Streamlit的本地/外部URL和npx安装提示,未生成localtunnel的访问链接。
解决方法
方法1:延迟启动Localtunnel
用&同时启动两个进程时,Localtunnel可能在Streamlit完全启动前就尝试连接端口,导致失败。添加延迟命令确保Streamlit就绪:
!streamlit run /content/app.py & sleep 3 && npx localtunnel --port 8501
sleep 3给Streamlit预留3秒启动时间,之后再启动Localtunnel,就能正常生成访问链接。
方法2:分步启动服务
先单独启动Streamlit,确认服务运行后再启动Localtunnel:
- 启动Streamlit:
!streamlit run /content/app.py
- 打开新的Colab代码单元格,启动Localtunnel:
!npx localtunnel --port 8501
方法3:替换为Ngrok(备选方案)
如果Localtunnel持续异常,可改用Ngrok实现隧道转发:
- 安装pyngrok:
!pip install pyngrok -q
- 配置Ngrok令牌(需在Ngrok官网免费注册获取):
from pyngrok import ngrok ngrok.set_auth_token("你的Ngrok授权令牌")
- 启动Streamlit并生成访问链接:
!streamlit run /content/app.py & public_url = ngrok.connect(8501) print("访问链接:", public_url)
内容的提问来源于stack exchange,提问作者MARCELO RODRIGUES DE MELO
相关产品推荐
相关产品推荐

