隧道未找到错误 Pyngrok streamlit collab

Posted

技术标签:

【中文标题】隧道未找到错误 Pyngrok streamlit collab【英文标题】:Tunnel not found error Pyngrok streamlit collab 【发布时间】:2021-05-04 01:52:55 【问题描述】:

我在 streamlit 中开发了一个 ui,并使用 Colab 的 pyngrok。一切正常,直到几天前隧道未找到错误开始发生。我正在使用下面的代码。我还升级了pyngrok 并尝试过,但同样的问题仍然存在。整个 UI 构建和 Colab pyngrok 相当新,似乎是最方便的学习方式。但是现在,如果有人也可以提出任何其他方法或者做错了什么,这将停止工作,那将是很好的


!pip install streamlit
!pip install pyngrok==4.1.1
import streamlit as st
from pyngrok import ngrok
# !ngrok authtoken (mykey)

# writefile app.py

def main():
  # app body
  pass

if __name__=='__main__':
  main()

!streamlit run app.py &>/dev/null&
public_url = ngrok.connect(port='8501')
public_url


#the log is also attached below after running above code which runs without errors as can be seen
#output below
2021-01-30 09:30:44.197 INFO    pyngrok.process: ngrok process starting: 1106
2021-01-30 09:30:44.218 INFO    pyngrok.process: t=2021-01-30T09:30:44+0000 lvl=info msg="no configuration paths supplied"

2021-01-30 09:30:44.220 INFO    pyngrok.process: t=2021-01-30T09:30:44+0000 lvl=info msg="using configuration at default config path" path=/root/.ngrok2/ngrok.yml

2021-01-30 09:30:44.224 INFO    pyngrok.process: t=2021-01-30T09:30:44+0000 lvl=info msg="open config file" path=/root/.ngrok2/ngrok.yml err=nil

2021-01-30 09:30:44.227 INFO    pyngrok.process: t=2021-01-30T09:30:44+0000 lvl=info msg="starting web service" obj=web addr=127.0.0.1:4040

2021-01-30 09:30:45.021 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg="tunnel session started" obj=tunnels.session

2021-01-30 09:30:45.026 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg="client session established" obj=csess id=a37f21d64392

2021-01-30 09:30:45.031 INFO    pyngrok.process: ngrok process has started: http://127.0.0.1:4040
2021-01-30 09:30:45.044 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg=start pg=/api/tunnels id=39c5cfa99a0ab7d7

2021-01-30 09:30:45.051 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg=end pg=/api/tunnels id=39c5cfa99a0ab7d7 status=200 dur=386.416µs

2021-01-30 09:30:45.057 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg=start pg=/api/tunnels id=9e57507bfe0794a8

2021-01-30 09:30:45.059 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg=end pg=/api/tunnels id=9e57507bfe0794a8 status=200 dur=159.931µs

2021-01-30 09:30:45.063 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg=start pg=/api/tunnels id=121fc98244651186

2021-01-30 09:30:45.418 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg="started tunnel" obj=tunnels name="http-8501-b9a57eaf-a9ac-4dd9-be80-7b1a5e4af344 (http)" addr=http://localhost:8501 url=http://c25e18c565f2.ngrok.io

2021-01-30 09:30:45.422 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg="started tunnel" obj=tunnels name=http-8501-b9a57eaf-a9ac-4dd9-be80-7b1a5e4af344 addr=http://localhost:8501 url=https://c25e18c565f2.ngrok.io

2021-01-30 09:30:45.428 INFO    pyngrok.process: t=2021-01-30T09:30:45+0000 lvl=info msg=end pg=/api/tunnels id=121fc98244651186 status=201 dur=374.833924ms

http://c25e18c565f2.ngrok.io

错误:

【问题讨论】:

同样的事情也发生在我身上 这可能是 Colab 的新约束吗?上周我在这里看到了一些关于此的问题,但没有任何改变。一切都可以在本地机器上使用 pyngrok,并且没有新的变化,所以也许 Colab 或 ngrok 本身最近开始阻止这些连接。 以前确实可以工作的集成示例here现在给出了同样的错误。 还值得注意的是,如果您将 urllib.request.urlopen(public_url).read() 之类的内容添加到 Colab 笔记本本身,则会找到隧道并且请求通过。感觉很像 Colab 中的访问问题。 【参考方案1】:

我是pyngrok 的开发人员,我想与您联系,让您知道我在我们的问题跟踪器、这里的几个、Colab 的问题跟踪器等上看到了很多关于此弹出的报告在最后一周。我联系了ngrok,因为这似乎是问题所在,他们刚刚回复了我。他们确认他们最近无意中开始阻止与 Colab 的连接,现在他们已经解决了这个问题。我自己也刚刚又测试了一遍,果然,它已经修复了!

【讨论】:

以上是关于隧道未找到错误 Pyngrok streamlit collab的主要内容,如果未能解决你的问题,请参考以下文章

Pyngrok 不断连接

pyngrok - 重试失败的连接

在 .replace 方法的 Python pyngrok 错误中

Altair/Streamlit 未读取多线图的列名

如何从 Google Colab Notebook 中杀死 Ngrok 隧道

隧道--------ngrok.io 未找到[关闭]