我正在Python3.6上开发一个小脚本,我很可能会从Google Cloud Shell使用它。在上述脚本中,我希望执行一些API调用,然后使用这些调用的结果URL打开web浏览器。下面的代码可以在我测试过的其他环境中运行,但不能在Cloud Shell中运行:
import webbrowser as wb
# different calls and process here, not relevant to the issue
wb.open('URL_HERE')
#This just echoes the URL.有没有办法让Python“告诉”Cloud Shell在运行它的地方使用浏览器?即:如果我使用Chrome打开Cloud Shell,有没有办法在Chrome中打开链接?无论是with浏览器还是其他库,都没有关系。
发布于 2018-08-10 04:08:30
Cloud Shell只是一个显示来自遥控器和temporary Compute Engine virtual machine instance的命令行的“窗口”。这意味着当您运行脚本时,您实际上是在远程VM (而不是在Chrome中)运行它,并且特定的VM本身没有浏览器。
例如,当您尝试在Cloud Shell中运行一个应用程序(here,您可以使用"mvn appengine: run“找到一个快速示例),一旦应用程序运行,您将在Cloud Shell中看到一条消息,类似于:
INFO GCLOUD: INFO:模块实例默认在http://localhost:8080/上运行
如果单击http://localhost:8080/,您实际上会被重定向到分配给Cloud Shell VM实例的临时地址(类似于8080点-VM-ID-devshell.apppot.com)。
总之,您不能命令Cloud Shell使用远程VM命令行中显示的特定URL打开浏览器。此外,您应该考虑到outgoing connections limitations和Cloud Shell仅适用于interactive use。
https://stackoverflow.com/questions/51761503
复制相似问题