当前位置: 首页 > 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.hskmm.com/?act=detail&tid=13286

相关文章:

  • Macos 安装kali报错
  • 完整教程:线程、进程、协程
  • CF913G Power Substring
  • YC大佬分享的 10 个 vibe coding技巧,看完收获巨大
  • ES集群部署-EFK架构实战 - 实践
  • 《BOE解忧实验室》第四季圆满收官 以科技重塑文化生活新范式
  • 洛谷P2261 [CQOI2007] 余数求和
  • arc206 总结
  • 科研必读|提升酿酒酵母表达蛋白产量的关键技术
  • 完整教程:uniapp、devceo华为鸿蒙运行模拟器报错:未开启Hyper-V
  • 浏览器访问页面卡顿刷新页面方法
  • 完整教程:散斑深度相机原理
  • 如何用 Dify 无代码工作流实现 AI 自动化抓取与分析 LinkedIn 招聘数据
  • WSL+共享文件夹搭建zephyr工作环境
  • 如果 Spring Cloud Feign 配置了 OkHttp3 非阻塞 IO(NIO),那么还需要reactor 模型来提高性能吗
  • 数据结构-单链表基础2
  • G1垃圾回收过程
  • Trellix自动化大规模修复开源漏洞,已修补超6万个项目
  • 爆款游戏背后:尚娱如何借助阿里云 Kafka Serverless 轻松驾驭“潮汐流量”?
  • Vben Admin5.0 keepAlive缓存和onActivated未生效
  • 版本速递 | 华为云Versatile智能体平台 新增特性介绍(2025年9月发布)
  • JVM体系结构
  • PE程序常见脱壳方案
  • 基于二值化断裂裂缝的裂缝拼接算法
  • spring ai基于内存RAG尝鲜
  • 想自己做大模型备案的企业看过来【评估测试题+备案源文件】
  • 基于 IOCP 的协程调度器——零基础深入浅出 C++20 协程
  • Gitee PPM风险矩阵:数字化转型中的项目管理预警雷达
  • 同一个灰色,POI取出来却是白色:一次Excel颜色解析的踩坑记录
  • 坤驰科技携国产化MTCA解决方案,亮相大科学装置控制系统研讨会