如何解决Google Colab中pyngrok与ngrok版本不兼容问题
解决Google Colab中pyngrok调用旧版ngrok的问题
问题核心
你手动升级了系统级的ngrok到3.8版本,但pyngrok默认使用自身缓存目录中的旧版ngrok二进制文件,导致仍触发ERR_NGROK_121版本过低错误。
解决方案
方案1:强制pyngrok使用系统已安装的新版ngrok
在代码中指定系统ngrok的路径,让pyngrok跳过自身缓存的旧版本:
!pip install --upgrade pyngrok import os from pyngrok import ngrok # 设置authtoken(如果还没配置) ngrok.set_auth_token("你的authtoken") # 指定系统中ngrok的路径,Colab手动安装后通常在/usr/local/bin/ngrok os.environ["NGROK_PATH"] = "/usr/local/bin/ngrok" # 建立隧道 http_tunnel = ngrok.connect() print(http_tunnel)
方案2:清理pyngrok缓存并重装最新版pyngrok
让pyngrok自动下载适配v3的新版ngrok:
- 卸载旧版pyngrok并清理缓存:
!pip uninstall -y pyngrok !rm -rf /root/.ngrok2/ngrok
- 安装最新版pyngrok:
!pip install --upgrade pyngrok
- 重新运行隧道代码:
from pyngrok import ngrok ngrok.set_auth_token("你的authtoken") http_tunnel = ngrok.connect() print(http_tunnel)
验证版本
可以通过以下代码确认pyngrok使用的ngrok版本:
from pyngrok import ngrok # 查看pyngrok版本 print(f"pyngrok版本: {ngrok.__version__}") # 查看当前使用的ngrok版本 print(f"ngrok版本: {ngrok.get_ngrok_version()}")
内容的提问来源于stack exchange,提问作者user269867
相关产品推荐
相关产品推荐

