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

VSCode通过SSH连接GCP Vertex AI创建的VM时无法识别已安装Python包

问题解决:VSCode SSH连接Vertex AI VM无法识别容器内Python包

问题根源

Vertex AI创建的托管VM默认将Jupyter运行环境封装在独立容器内,你通过SSH直接连接的是VM宿主机,宿主机的/opt/conda/lib/python3.7/site-packages和容器内的依赖目录相互独立,因此会出现浏览器端Jupyter正常、VSCode SSH连接后报ModuleNotFoundError的问题。

可行解决方案

方案1:VSCode直接附加到运行中的容器(最推荐)

  • 先SSH连接到Vertex AI VM宿主机,执行命令sudo docker ps,找到镜像名带jupyter或vertex-ai标识的运行中容器,记录容器ID
  • 本地VSCode安装「Dev Containers」扩展,SSH连接到VM后,点击左下角远程连接图标,选择「附加到正在运行的容器」,选中上一步找到的Jupyter容器
  • 连接容器成功后,选择容器内的Python解释器/opt/conda/bin/python3,此时打开的Jupyter Notebook会直接使用容器内的预装环境,nltk、spacy等包均可正常调用

方案2:修改Jupyter内核配置指向容器解释器

  • 在VM宿主机执行mkdir -p ~/.local/share/jupyter/kernels/vertex-container创建自定义内核目录
  • 在该目录下新建kernel.json文件,写入如下内容(替换<容器ID>为你实际的Jupyter容器ID):
{
  "argv": [
    "docker",
    "exec",
    "-i",
    "<容器ID>",
    "/opt/conda/bin/python3",
    "-m",
    "ipykernel_launcher",
    "-f",
    "{connection_file}"
  ],
  "display_name": "Vertex 容器 Python 3",
  "language": "python"
}
  • 重启VSCode后打开Jupyter Notebook,内核选择「Vertex 容器 Python 3」即可,无需单独连接容器
    注意:VM重启后容器ID会重置,可提前将Jupyter容器设置为固定名称,避免每次修改配置文件。

方案3:宿主机同步安装依赖(临时使用)

  • 进入容器导出依赖列表:docker exec <容器ID> pip freeze > requirements.txt
  • 回到宿主机执行/opt/conda/bin/pip3 install -r requirements.txt,将容器内所有依赖安装到宿主机conda环境中,即可直接使用宿主机解释器调用对应包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:36:01