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

Win系统下的Linux系统——WSL 使用手册

我们在复现一些项目的时候,有些依赖包只能在 linux 环境下使用,还不打算使用远程服务器,那么此时我们可以使用 WSL 创建一个 ubutu 系统,在这个系统里创建虚拟环境、下载依赖包。然后,我们就可以在 windows 下的 vscode 中配置 WSL 的 linux 系统中的虚拟环境来跑代码了

如果你想要在本机来跑项目,同时还需要linux系统,那么就可以使用 WSL。

什么是 WSL 2?

  • 时间来到 2017 年,事情正在起变化。微软正式发布了「适用于 Linux 的 Windows 子系统」,即人们熟知的 Windows Subsystem for Linux,简称 WSL。
  • 在 2019 年,微软又基于 Hyper-V 架构的部分功能,推出了全新的 WSL 2。它能够在一个高度优化的虚拟化中运行完整的 Linux 内核。

WSL 2 只需要较少的系统资源,就能实现 Windows 和 Linux 之间的无缝集成。虽然 WSL 2 也使用了虚拟化技术,但它会自动在后台运行和管理,无需用户手动配置或维护(要维护也可以)。

WSL 2 主要面向将 Windows 作为生产力工具,但又希望在 Linux 环境中完成工作的用户和开发人员。你可以运行grepawksed等命令行工具,以及依赖这些工具的 Bash 脚本。不仅如此,你还可以从 WSL 命令行启动 Windows 应用,甚至在 Windows 上运行 Linux 图形应用。

安装 WSL 2

Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南

管理 WSL 2

Windows 11:WSL 2 管理指南

然后在里面下载 Anaconda,cuda Toolkit,就可以当作本地的 linux 环境去使用啦。

使用命令行下载 Anaconda 教程:

https://blog.csdn.net/m0_52985087/article/details/136689183

使用命令行下载 cuda-toolkit 教程:

https://blog.csdn.net/plover007x/article/details/131450626

https://www.cnblogs.com/klchang/p/14353384.html

验证cuda-toolkit安装成功:

常用指令

在 Windows 下:

查看已安装的发行版、WSL 版本信息和当前状态:wsl -l -v

指定默认linux发行版:wsl --set-default <DistroName>

进入默认linux:wsl

在 WSL 下:

就是 linux 指令。

一些报错:

安装 cuda Tooklit 报错

安装 cuda_12.8.0,出现报错:Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
运行 gcc --version 显示: Command 'gcc' not found, but can be installed with: sudo apt install gcc

解决:

CUDA 安装器在安装时会自动检测系统中的 gcc 编译器版本,但你当前 WSL Ubuntu 里还没安装 gcc,所以报错。

解决方法:安装 gcc 和 g++。

sudo apt update
sudo apt install -y build-essential

安装完成后验证:gcc --version

应该会输出:(不同 Ubuntu 版本对应 gcc 版本会不同)

gcc (Ubuntu 11.4.0) 11.4.0

然后再安装 CUDA,这次检测 gcc 就会正常通过了。

推荐提前装好 build-essential,因为不光 CUDA,很多 Python 库(比如 PyTorch 源码编译、NumPy 等)都依赖 gcc

http://www.xdnf.cn/news/973045.html

相关文章:

  • Docker安装openGauss
  • 使用kubeadm部署Kubernetes(k8s)集群的步骤
  • Linux ELF文件详解:深入理解可执行文件格式
  • 将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
  • Alpine Linux基本介绍与新手使用指南
  • Spring MVC 核心枢纽:DispatcherServlet 的深度解析与实践价值
  • FastAPI 教程:从入门到实践
  • V837s-调整内核dmesg内容ring buffer大小
  • k8s从入门到放弃之Ingress七层负载
  • 字符串序列判定
  • pip install 安装traj_dist库失败
  • PCB设计教程【大师篇】——STM32开发板原理图设计(单片机最小系统)
  • 树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
  • 智能在线客服平台:数字化时代企业连接用户的 AI 中枢
  • 【PCL无法读取点云PLY或者PCD格式】
  • esp32idf 关于SPIRAM的使用
  • 第四章 W55MH32初体验
  • Web后端基础:Maven基础
  • PostgreSQL--安装方法
  • 力扣Hot100每日一题[1,3]
  • 【CF】Day80——Codeforces Round 872 (Div. 2) C⭐D (思维 + 模拟 | 树 + 思维 + 组合数学 + 分数取模)
  • 小天互连IM:信创体系下的安全、高效即时通讯新选择
  • 【小记】2024-2025生物计算类热点问题
  • 方案解读:智慧银行反欺诈大数据管控平台建设方案【附全文阅读】
  • 20、React常用API和Hook索引
  • Memory Repair (三)
  • Java单列模式总结及实现
  • asio之读写
  • 路径规划算法概论:从理论到实践
  • switch选择语句