You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过gcloud终端工具调用GCP VM作为后端运行本地Python文件?

实现方案

完全可以通过gcloud compute ssh自带的远程命令执行能力实现需求,无需手动上传本地Python文件到GCP VM,也不需要额外的自定义命令,具体方案如下:

方案1:单Python文件无额外本地依赖场景(最常用)

直接将本地Python文件内容通过标准输入传递给远程VM的Python解释器执行,全程不会在VM上留存文件副本,命令格式如下:

gcloud compute ssh --zone <替换为你的VM可用区> <替换为你的VM名称> -- python3 - < test.py

命令逻辑说明:

  • -- 后面的内容为要在远程VM上执行的命令
  • python3 - 表示Python解释器从标准输入读取代码执行
  • < test.py 是本地文件输入重定向,将本地test.py的内容直接传递给远程的Python进程

方案2:需要给Python脚本传递运行参数的场景

如果你的脚本需要接收参数,可通过--command参数封装执行逻辑:

gcloud compute ssh --zone <替换为你的VM可用区> <替换为你的VM名称> --command "python3 - 参数1 参数2" < test.py

执行效果和你在本地运行python3 test.py 参数1 参数2完全一致,参数会正常传递给sys.argv。

方案3:Python脚本依赖多个本地文件的场景

如果你的脚本需要读取同目录下其他本地文件,可先通过SSHFS将本地目录挂载到远程VM的指定路径,远程VM运行时直接读取挂载路径下的文件即可,无需上传任何文件:

  1. 挂载本地目录到远程VM:
sshfs <替换为本地待挂载的目录绝对路径> <替换为你的VM名称>:<替换为远程VM上的挂载路径> -o ssh_command="gcloud compute ssh --zone <替换为你的VM可用区>"
  1. 执行脚本时直接指定远程挂载路径下的文件即可:
gcloud compute ssh --zone <替换为你的VM可用区> <替换为你的VM名称> -- python3 <替换为远程挂载路径下的对应py文件路径>
  1. 用完后卸载挂载:
  • 本地为Linux系统:fusermount -u <替换为远程VM上的挂载路径>
  • 本地为MacOS系统:umount <替换为远程VM上的挂载路径>

注意事项

  • 需提前确保远程VM的Python环境中已经安装了你脚本依赖的所有第三方库
  • 如果脚本需要输出文件,输出结果默认会保存在远程VM上,如需保存到本地可在执行命令时增加输出重定向,比如:gcloud compute ssh --zone 可用区 VM名 -- python3 - < test.py > 本地结果文件路径

内容的提问来源于stack exchange,提问作者Mehedee Hassan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:18:00