【发布时间】: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 中的访问问题。
标签: python google-colaboratory streamlit pyngrok