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

dev containers plugins for vscode构建虚拟开发环境

0. 需求说明

自用笔记本构建一套开发环境,用docker 虚拟插件 dev containers,实现开发环境的构建,我想构建一套LLMs的环境,由于环境配置太多,不想污染本地环境,所以选择隔离技术

1. 环境准备

  • vscode
  • docker

2. 步骤

2.1 vscode 安装插件

  • Dev Containers
  • Remote Development

2.2 项目根目录下创建.devcontainer文件

目录结构
目录结构

2.2.1 直接用镜像构建环境

devcontainers.json
VS Code Dev Containers官方文档
字段说明【具体字段参见官方网站字段描述】:
1.name:dev container 名称
2.image:镜像名称
3. customizations:在支持的工具中定义
4. build:dockerfile 构建时需要配置
5. context:构建的位置上下文,默认. 当前目录,.. 表示上级目录
6. dockerfile: dockerfile 文件

{"name": "LLMs From Scratch","image": "llms-from-scratch:0.1","customizations": {"vscode": {"extensions": ["ms-python.python","ms-azuretools.vscode-docker","ms-toolsai.jupyter","yahyabatulu.vscode-markdown-alert","tomoki1207.pdf","mechatroner.rainbow-csv"]}}
}

2.2.2 用Dockefile构建镜像

devcontainers.json

{"name": "LLMs From Scratch","build": {"context": "..","dockerfile": "Dockerfile"},"customizations": {"vscode": {"extensions": ["ms-python.python","ms-azuretools.vscode-docker","ms-toolsai.jupyter","yahyabatulu.vscode-markdown-alert","tomoki1207.pdf","mechatroner.rainbow-csv"]}}
}

Dockerfile

FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtimeRUN apt-get update && \apt-get upgrade -y && \apt-get install -y rsync && \apt-get install -y git && \apt-get install -y curl && \rm -rf /var/lib/apt/lists/*COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

requirements 环境需要的配置信息

torch >= 2.0.1       
jupyterlab >= 4.0    
tiktoken >= 0.5.1    
matplotlib >= 3.7.1  
tensorflow >= 2.15.0 
tqdm >= 4.66.1       
numpy >= 1.25, < 2.0  
pandas >= 2.2.1       
psutil >= 5.9.5     

3.启动环境

Command + Shift + P
输入:Dev Containers: Rebuild and Reopen in Container

启动截图

启动成功截图
环境启动成功截图

4. 关闭环境

File —>close remote connection

http://www.lryc.cn/news/445608.html

相关文章:

  • C++ | Leetcode C++题解之第433题最小基因变化
  • Qt窗口——QMenuBar
  • python网站创建001:内容概览
  • 代码随想录第22天|
  • WPF-基础-02 DispatcherObject类
  • STM32与51单片机的区别:是否应该直接学习STM32?
  • 【网络底层原理】I/O多路复用技术select、poll和epoll详解与比较
  • 【JavaScript】LeetCode:51-55
  • Spring MVC 拦截器总结
  • Linux——创建编写并编译一个C程序
  • window下idea中scala的配置
  • Qt C++设计模式->享元模式
  • 前端实用技能
  • Android LiveData 数据倒灌
  • umi项目中使用mockj生成数据模拟请求调用
  • 事件【JavaScript】
  • 【Linux】Linux基本命令
  • 微软宣称其新工具可纠正人工智能幻觉 但专家依然对此表示怀疑
  • 实战OpenCV之图像滤波
  • AI学习指南深度学习篇-Adadelta的Python实践
  • go webapi上传文件 部属到linux
  • 接口加解密及数据加解密
  • 开创远程就可以监测宠物健康新篇章
  • 二叉树的基本概念(上)
  • aws s3 存储桶 前端组件上传简单案例
  • 【开源免费】基于SpringBoot+Vue.JS墙绘产品展示交易平台(JAVA毕业设计)
  • python爬虫初体验(四)—— 百度文库PPT的爬取
  • 下水道内缺陷识别检测数据集 yolo数据集 共2300张
  • 年轻用户对Facebook的使用趋势分析
  • EasyCVR全方位安全守护智慧电厂:构建高效视频监控系统优势分析