当前位置: 首页 > 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

相关文章:

  • 如何根据excel表生成sql的insert脚本
  • [ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
  • PyArk飘云阁出品的ARK工具
  • IP地址可视化:从现网监控到合规检测、准入控制全面管理
  • Microsoft Azure 马来西亚区域正式上线
  • 大模型原理、架构与落地
  • 黑马python(三)
  • Css实现悬浮对角线边框动效
  • 智慧医疗能源事业线深度画像分析(上)
  • leetcode题解450:删除BST中的结点!调整二叉树的结构最难!
  • DiffBP: generative diffusion of 3D molecules for target protein binding
  • 利用Seagate service获得system shell
  • 什么样的登录方式才是最安全的?
  • 安全大模型智驱网络和数据安全效能跃迁
  • [Java基础] stream流中Collectors.toMap报空指针异常情况
  • CentOS7.9 查询运维安全日志,排查恶意用户
  • Oraclede 的体系结构
  • V837s-调整内核dmesg内容ring buffer大小
  • 调用支付宝接口响应40004 SYSTEM_ERROR问题排查
  • 标准 IO 流- Rust 标准输入 stdin 与 C/C++ 标准输入(Standard I/O Input)对比分析
  • 昆明网络推广昆明网站建设昆明昆明/免费下优化大师
  • 招远做网站哪家好/私人浏览器
  • 南宁网站设计图/百度推广方法
  • 南宁手机平台网站建设/网站怎么搭建
  • wordpress 付费内容/温州seo推广外包
  • 绍兴柯桥区城乡建设局网站/lol今日赛事直播