当前位置: 首页 > news >正文

Windows 离线环境下使用 VS Code 连接容器 Python 环境完整指南(亲测可用)

前言

在离线服务器环境中进行 Python 开发时,如何利用 VS Code 的强大功能进行调试和开发是一个常见需求。本文将详细介绍如何在 Windows 离线环境下,通过 WSL 和 Docker 容器实现 VS Code 连接 Python 环境的完整方案。

前置条件

离线服务器环境准备

  1. 安装 VS Code 扩展:
  • 在 Windows 的 VS Code 中安装 "Dev Containers" 扩展
  • 在 Windows 的 VS Code 中安装 "WSL" 扩展
  1. WSL 环境配置:
  • 在 WSL 中安装 VS Code Server
  • 确保 Windows 的 VS Code 可以连接到 WSL
  1. Docker 环境:
  • 确保 WSL 中已安装 Docker
  • 确保 Docker 服务正在运行

第一部分:有网环境准备

步骤 1:连接目标容器

  1. 打开 VS Code,任意打开一个目录
  1. 按 Ctrl+Shift+P 打开命令面板
  1. 输入 "Dev Containers: Attach to Running Container"
  1. 选择目标容器,等待 VS Code 在容器中启动

    图片

步骤 2:安装 Python 插件

  1. 在容器环境中,按 Ctrl+Shift+X 打开扩展面板
  1. 搜索并安装以下扩展:
  • Python (ms-python.python)

图片


  1. 配置 Python 解释器:
  • 按 Ctrl+Shift+P
  • 输入 "Python: Select Interpreter"
  • 选择容器中的 Python 路径(如 /usr/local/bin/python)

步骤 3:验证环境

创建测试文件验证环境:
# test.py
import sys
print(f"Python 版本: {sys.version}")
print(f"Python 路径: {sys.executable}")
print(f"工作目录: {sys.path}")

步骤 4:保存容器为镜像

# 查看容器状态
docker ps# 提交容器为镜像
docker commit <container_id> <image_name>:<tag># 例如:
docker commit abc123 my-python-dev:v1.0# 查看新镜像
docker images | grep my-python-dev

步骤 5:导出镜像

# 将镜像保存为 tar 文件
docker save -o my-python-dev.tar my-python-dev:v1.0# 验证文件大小
ls -lh my-python-dev.tar

第二部分:离线环境部署

步骤 1:传输文件

将以下文件传输到离线服务器:
  • my-python-dev.tar(Docker 镜像文件)
  • 项目代码文件

步骤 2:加载镜像

# 在离线服务器的 WSL 中
docker load -i my-python-dev.tar# 验证镜像加载成功
docker images | grep my-python-dev

步骤 3:启动容器

# 创建项目目录
mkdir -p /home/user/python-project
cd /home/user/python-project# 启动容器并挂载代码目录
docker run -it --name python-dev \-v $(pwd):/app \-w /app \my-python-dev:v1.0 \/bin/bash# 验证容器运行
docker ps

步骤 4:连接 VS Code

  1. 打开 Windows VS Code
  1. 按 Ctrl+Shift+P 打开命令面板
  1. 输入 "Dev Containers: Attach to Running Container"
  1. 选择 "python-dev" 容器
  1. 等待连接建立

步骤 5:验证连接

  1. 检查状态栏:应该显示 Python 版本
  1. 测试调试功能:按 F5 开始调试
  1. 测试智能提示:输入代码查看自动补全
http://www.rkmt.cn/news/9488.html

相关文章:

  • Macos 安装kali报错
  • 负载排查和分析二
  • 深入解析:老树发新芽:六西格玛培训为石油机械制造注入持久活力
  • YC大佬分享的 10 个 vibe coding技巧,看完收获巨大
  • 负载排查和优化
  • 挑战骑行距离新记录:46公里
  • arc206 总结
  • 数据结构-单链表基础2
  • Vben Admin5.0 keepAlive缓存和onActivated未生效
  • 版本速递 | 华为云Versatile智能体平台 新增特性介绍(2025年9月发布)
  • PE程序常见脱壳方案
  • 坤驰科技携国产化MTCA解决方案,亮相大科学装置控制系统研讨会
  • 找出所有项目引用了哪些 NuGet 包、版本号、对应项目路径,并筛选出“同一个包名但版本不同”的情况。
  • labelme标注后的json文件和原图同步按角度旋转
  • 移动号码线上复机
  • NASA运货飞船天鹅座再次推迟,航天任务为什么总是“彩排”不断
  • var sql 的不同用法
  • ElasticSearch系列---【如何使用curl创建、查看、删除索引?】
  • Avalonia 根据绑定的数据类型动态选择模板
  • PyTorch图神经网络(一)
  • Python版Sigstore稳定版发布:软件供应链签名新标准
  • 仿照豆包实现 Prompt 变量模板输入框
  • 网速带宽概念
  • 跨网传输软件:打通数据孤岛,保障安全流通!
  • 202507_QQ_caidundun
  • DevExpress WinForms v25.1新版亮点:全新升级侧边导航布局
  • outlook大附件发送是什么?
  • 2025年内外网文件传输新范式:十大好用的内外网文件摆渡系统
  • 双分布函数热 LBM 模拟二维封闭方腔自然对流
  • asp.net中的wwwroot是什么