谷歌 Colab ngrok 转换为 python
Posted
技术标签:
【中文标题】谷歌 Colab ngrok 转换为 python【英文标题】:Google Colab ngrok convert to python 【发布时间】:2020-04-07 23:40:14 【问题描述】:我有一个带有以下命令的 Google Colab 笔记本
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip
LOG_DIR = './log'
get_ipython().system_raw(
'tensorboard --logdir --host 0.0.0.0 --port 6006 &'
.format(LOG_DIR)
)
这些命令在 Google Colab 中运行良好,没有任何错误。但是当我在 python 中运行相同的程序时会出错。
Python 演示.py
import sys, json
import requests
from IPython import get_ipython
import requests
LOG_DIR = './log'
get_ipython().system_raw(
'tensorboard --logdir --host 0.0.0.0 --port 8001 &'
.format(LOG_DIR)
)
错误:第 9 行:AttributeError:“NoneType”对象没有属性“system_raw”
如何在 python 中解决这个错误?
【问题讨论】:
从错误信息中你明白了什么?你检查过get_ipython
的值,有没有调试过?
如果你指点我调试获取 ipython.system.raw,我将不胜感激。我在谷歌上研究过我读到的大部分文献都是关于谷歌合作的。也许您知道我尚未测试过的更好的调试方法。请告诉我一些指示
肯定有一种方法可以做到这一点而不需要任何与 IPython 相关的东西吗?你能解释一下这段代码的作用/意图吗?
您似乎不能将get_ipython()
与普通的python
一起使用,因为它不会自动运行ipython
并且get_ipython()
无法获得它。有IPythom start_ipython()
,但它运行ipython
shell,但它等待用户命令,而不是来自文件的命令。您必须使用ipython
运行它。
你不能用os.system('tensorboard --logdir --host 0.0.0.0 --port 8001 &'.format(LOG_DIR))
【参考方案1】:
我是否可以建议尝试使用pyngrok
之类的方法以编程方式为您管理ngrok
隧道?完全披露,我是它的开发者。 Here are the docs,如果您有兴趣。
【讨论】:
救命稻草,很棒的项目老兄。以上是关于谷歌 Colab ngrok 转换为 python的主要内容,如果未能解决你的问题,请参考以下文章
无法在 google colab 上完成 ngrok 隧道连接
如何从 Google Colab Notebook 中杀死 Ngrok 隧道
在 Google Colab 上通过 ngrok 运行烧瓶应用程序时,flask-ngrok 返回“隧道 _________.ngrok.io 未找到”[重复]