Windows 11 中部署 Linux 项目

news2024/12/28 20:32:18

一、总体思路

在 Windows 11 中部署 Linux 项目,主要是借助 Windows Subsystem for Linux(WSL)来实现。在WSL中新建基于Linux的项目虚拟环境,以供WIN下已克隆的项目使用。WSL 允许在 Windows 系统上运行原生的 Linux 二进制可执行文件,相当于在 Windows 11 内部构建了一个 Linux 环境。通过在 WSL 中安装合适的 Linux 发行版(如 Ubuntu),我们就能够像在真正的 Linux 系统上一样安装和运行 Linux 项目所需要的软件和依赖。而且值得一提的是,在操作过程中,可以把 GITHUB 的 Linux 项目直接克隆到 Windows 11 的本地项目文件夹,不必专门单独克隆到 WSL - Ubuntu 24.04.1LTS 子系统目录中,这样在一定程度上能更灵活地管理项目文件,后续再通过相应的操作在 WSL 环境下对项目进行编译、运行等处理即可。

二、具体步骤思路

(一)安装 WSL

  1. 首先,在 Windows 11 中找到 “控制面板”,然后进入 “程序” 选项。
  2. 在 “程序” 中找到 “启用或关闭 Windows 功能”,在弹出的窗口中勾选 “适用于 Linux 的 Windows 子系统”,点击 “确定” 后等待系统自动安装。这一步是为了开启 Windows 11 对 WSL 的支持功能。

(二)安装 Linux 发行版(以 Ubuntu 为例)

  1. 打开微软商店,在商店中搜索 Ubuntu。选择合适的 Ubuntu 版本(例如 Ubuntu 24.04.1LTS 等),然后点击 “安装” 按钮。
  2. 安装完成后,在开始菜单中找到 Ubuntu 应用并打开。首次打开时,Ubuntu 会进行初始化配置,此时需要设置用户名和密码,这些信息将用于后续在 Ubuntu 环境中的操作。

 

(三)安装 NVIDIA 相关驱动

1. Windows 11 系统安装 NVIDIA 最新驱动(必要)

在部署涉及 GPU 运算的 Linux 项目时,确保 Windows 11 系统安装了 NVIDIA 最新驱动是十分关键的。因为 WSL 中的 GPU 支持依赖于 Windows 系统层面的驱动,我们可以通过以下常规方式进行安装:
访问 NVIDIA 官方网站,在驱动下载页面,根据自己电脑的显卡型号以及 Windows 11 系统版本等信息,自动检测或者手动选择对应的最新驱动版本进行下载。下载完成后,运行安装程序,按照提示逐步操作,例如接受许可协议、选择安装路径(通常使用默认路径即可)等,在安装过程中可能需要重启电脑使驱动生效。

2. WSL - Ubuntu 24.04.1LTS 子系统安装 NVIDIA 最新驱动(必要)

同样,为了让 Ubuntu 子系统能够充分利用 GPU 资源,在 WSL - Ubuntu 24.04.1LTS 子系统中安装对应的 NVIDIA 驱动也是必不可少的。安装方式如下:
首先,在已经打开的 Ubuntu 终端中,执行命令添加 NVIDIA 驱动相关的软件源,例如一些官方推荐的源地址(具体源根据实际情况和官方说明为准),然后更新软件包列表,使用命令 “sudo apt update”。之后,通过命令 “sudo apt install < 具体的 NVIDIA 驱动包名称 >” 来安装对应的驱动(< 具体的 NVIDIA 驱动包名称 > 需要根据项目需求以及 NVIDIA 官方针对 WSL 下 Ubuntu 24.04.1LTS 的驱动支持情况来确定,可以通过查阅官方文档获取准确信息)。安装完成后,可通过一些简单命令(如查看 GPU 相关设备信息的命令,具体可网上搜索)来验证驱动是否安装成功并正常工作。

(四)安装项目所需的依赖

  1. CUDA 和 CUDNN(如果项目需要)
    • 对于 CUDA,需要到 NVIDIA 官方网站根据项目需求查找对应的 WSL 版本安装命令。首先在 Ubuntu 终端中执行 “sudo apt update” 来更新软件包列表,然后执行从 NVIDIA 官网获取的 CUDA 安装命令。安装完成后,通过 “nvcc -V” 命令来验证是否安装成功。

    • CUDNN 的安装类似,也是从 NVIDIA 官网找到适合的版本和对应的 WSL 安装命令,安装后可以通过相关测试代码(网上可搜索)来验证是否正常工作。

  2. Anaconda
    • 从 Anaconda 官方网站下载适用于 Linux 的 Anaconda 安装包。在 Ubuntu 终端中进入下载目录后,使用 “bash Anaconda 文件名.sh” 命令进行安装,安装过程中按照提示操作。安装完成后,可以通过 “conda -V” 命令来验证 Anaconda 是否安装成功。如果遇到环境变量配置问题(例如代理相关问题),需要根据具体情况解决,如关闭系统代理或者重启 WSL 等操作,并确保在 “.bashrc” 文件中正确配置 Anaconda 的环境变量(如 “export PATH="$PATH:/home/ 用户名 /anaconda3/bin"”),通过 “source ~/.bashrc” 使配置生效。

  3. 项目依赖包
    • 根据项目的 README 文件,使用 “conda install” 命令安装项目所需的依赖包,如 numpy、pandas 等。

 

(五)安装和配置相关框架

  1. Torch
    • 根据项目所需的 Torch 版本,使用 “conda install pytorch torchvision torchaudio -c pytorch” 命令进行安装。安装后通过简单的 Python 代码(如 “import torch;print (torch.version);print (torch.cuda.is_available ())”)来验证 Torch、CUDA 和 CUDNN 是否安装成功。

  2. 创建和激活环境(如果需要)
    • 如果项目需要特定的 Python 环境,可以使用 “conda create -n Dlab python=3.11” 命令创建环境,例如创建名为 “Dlab” 且 Python 版本为 3.11 的环境,然后使用 “conda activate Dlab” 命令激活环境。

(六)项目部署

  1. 在 VS Code 中安装 WSL 扩展(如果使用 VS Code 进行开发),通过扩展可以更方便地在 VS Code 中操作 WSL 中的 Ubuntu 环境。

  2. 在 VS Code 中找到 Ubuntu 系统终端并激活相关环境(如果有创建环境的话)。

  3. 按照项目在 Linux 系统下的常规部署步骤进行操作,例如使用 “git clone” 克隆项目代码(这里就可以选择直接克隆到 Windows 11 的本地项目文件夹),“cd” 进入项目目录,根据项目的 “requirements.txt” 文件使用 “pip” 安装项目依赖包,最后执行项目运行命令(根据项目说明文档)。

通过以上思路和步骤,就可以在 Windows 11 系统中成功部署 Linux 项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2267095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ETCD】【实操篇(十五)】etcd集群成员管理:如何高效地添加、删除与更新节点

etcd 是一个高可用的分布式键值存储&#xff0c;广泛应用于存储服务发现、配置管理等场景。为了确保集群的稳定性和可扩展性&#xff0c;管理成员节点的添加、删除和更新变得尤为重要。本文将指导您如何在etcd集群中处理成员管理&#xff0c;帮助您高效地维护集群节点。 目录 …

数据结构与算法Python版 平衡二叉查找树AVL

文章目录 一、平衡二叉查找树二、AVL树测试三、AVL树-算法分析 一、平衡二叉查找树 平衡二叉查找树-AVL树的定义 AVL树&#xff1a;在key插入时一直保持平衡的二叉查找树。可以利用AVL树实现抽象数据类型映射Map。与二叉查找树相比&#xff0c;AVL树基本上与二叉查找树的实现…

【Redis】Redis 安装与启动

在实际工作中&#xff0c;大多数企业选择基于 Linux 服务器来部署项目。本文演示如何使用 MobaXterm 远程连接工具&#xff0c;在 CentOS 7 上安装和启动 Redis 服务&#xff08;三种启动方式&#xff0c;包括默认启动、指定配置启动和开机自启&#xff09;。在安装之前&#x…

通过Js动态控制Bootstrap模态框-弹窗效果

目的&#xff1a;实现弹出窗、仅关闭弹窗之后才能操作&#xff08;按ESC可退出&#xff09;。自适应宽度与高度、当文本内容太多时、添加滚动条效果。 效果图 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

el-table合并单元行后的多选框选中问题

问题描述 合并单元行以后&#xff0c;首列的多选框也会合并&#xff0c;此时选中该多选框其实是只选中了合并单元行的第一行的多选框&#xff0c;其他的都未被选中。 解决方案 原本想着手动去修改表头的半选状态和全选状态 &#xff0c;但是没有找到相关方法&#xff0c;后面觉…

电脑缺失libcurl.dll怎么解决?详解电脑libcurl.dll文件丢失问题

一、libcurl.dll文件丢失的原因 libcurl.dll是一个用于处理URL传输的库文件&#xff0c;广泛应用于各种基于网络的应用程序。当这个文件丢失时&#xff0c;可能会导致相关应用程序无法正常运行。以下是libcurl.dll文件丢失的一些常见原因&#xff1a; 软件安装或卸载不完整&a…

图文教程:使用PowerDesigner导出数据库表结构为Word/Html文档

1、第一种情况-无数据库表&#xff0c;但有数据模型 1.1 使用PowerDesigner已完成数据建模 您已经使用PowerDesigner完成数据库建模&#xff0c;如下图&#xff1a; 1.2 Report配置和导出 1、点击&#xff1a;Report->Reports&#xff0c;如下图&#xff1a; 2、点击&…

UE--如何用 Python 调用 C++ 及蓝图函数

前言 先讲下如何用 Python 调用 C 函数吧。 详细可见我的上篇文章 最关键的一点就是得在函数上加一个宏&#xff1a;UFUNCTION(BlueprintCallable) UFUNCTION(BlueprintCallable) static bool GetOrCreatePackage(const FString& PackagePath, UPackage*& OutPackag…

小程序租赁系统开发的优势与实践探索

内容概要 小程序租赁系统开发正在引起广泛关注&#xff0c;特别是在数字化快速发展的今天。很多企业开始意识到&#xff0c;小程序不仅能为他们带来更多的客户&#xff0c;还能极大地提高管理效率。借助小程序&#xff0c;用户在租赁时可以更加方便地浏览和选择产品&#xff0…

闲谭Scala(3)--使用IDEA开发Scala

1. 背景 广阔天地、大有作为的青年&#xff0c;怎么可能仅仅满足于命令行。 高端大气集成开发环境IDEA必须顶上&#xff0c;提高学习、工作效率。 开整。 2. 步骤 2.1 创建工程 打开IDEA&#xff0c;依次File-New-Project…&#xff0c;不好意思我的是中文版&#xff1a;…

富芮坤FR800X系列之PWM输出程序应用设计

文章目录 前言1.设计背景2.简介3.如何设计控制调光的接口呢4.硬件设计5.软件设计5.1.软件流程图5.2.软件代码 6.小结 前言 版权归作者所有、未经允许、请勿转载。 读者对象&#xff1a; 本文档主要适用以下工程师&#xff1a; 嵌入式系统工程师 单片机软件工程师 IOT固…

node-js Express防盗链

什么是防盗连 一个简单的说明&#xff0c;假如在前端img标签想要引用图片网站上的图片&#xff0c;当你将图片地址放到img标签上想要显示的时候你发现&#xff0c;图片显示不了&#xff0c;这说明网站采用了防盗链。 怎么实现的呢 在请求头中一般会有 Referer&#xff0c;它…

使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图

在做一些尺度分析时&#xff0c;经常会涉及到对研究区构建不同尺度的渔网进行分析&#xff0c;渔网的形状通常为规则四边形。构建渔网的方法也很简单&#xff0c;使用ArcGIS/ArcGIS Pro工具箱中的【创建渔网/CreateFishnet】工具来构建。但如果想构建其他形状渔网进行相关分析&…

RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)

文章目录 十.RabbitMQ10.1 简单队列实现10.2 Work 模式&#xff08;工作队列&#xff09;10.3 公平分发10.4 RabbitMQ 消息应答与消息持久化消息应答概念配置 消息持久化概念配置 十.RabbitMQ 10.1 简单队列实现 简单队列通常指的是一个基本的消息队列&#xff0c;它可以用于…

nexus docker安装

#nexus docker 安装 docker pull sonatype/nexus3 mkdir -p /data/nexus-data docker run -itd -p 8081:8081 --privilegedtrue --name nexus3 \ -v /data/nexus-data:/var/nexus-data --restartalways docker.io/sonatype/nexus3 #访问 http://192.168.31.109:8081/ 用户名&am…

ADC(二):外部触发

有关ADC的基础知识请参考标准库入门教程 ADC&#xff08;二&#xff09;&#xff1a;外部触发 1、TIM1的CC1事件触发ADC1DMA重装载2、TIM3的TRGO事件(的更新事件)触发ADC1DMA重装载3、TIM3的TRGO事件(的捕获事件)触发ADC1DMA重装载4、优化TIM3的TRGO事件(的捕获事件)触发ADC1D…

【产品应用】一体化无刷电机在旋转等离子喷枪中的应用

在现代工业制造与加工领域&#xff0c;等离子喷枪凭借其高温、高速的等离子射流&#xff0c;能够实现高效的材料表面处理、切割以及焊接等工艺&#xff0c;在众多行业中发挥着关键作用。而一体化无刷电机的应用&#xff0c;更是为等离子喷枪的性能提升和稳定运行注入了强大动力…

ElasticSearch - 深入解析 Elasticsearch Composite Aggregation 的分页与去重机制

文章目录 Pre概述什么是 composite aggregation&#xff1f;基本结构after 参数的作用问题背景&#xff1a;传统分页的重复问题after 的设计理念响应示例 after 如何确保数据不重复核心机制Example步骤 1: 创建测试数据创建索引插入测试数据 步骤 2: 查询第一页结果查询第一页返…

易基因: BS+ChIP-seq揭示DNA甲基化调控非编码RNA(VIM-AS1)抑制肿瘤侵袭性|Exp Mol Med

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 肝细胞癌&#xff08;hepatocellular carcinoma&#xff0c;HCC&#xff09;早期复发仍然是一个具有挑战性的领域&#xff0c;其中涉及的机制尚未完全被理解。尽管微血管侵犯&#xff08…

顶会评测集解读-AlignBench: 大语言模型中文对齐基准

评测集社区 CompssHub 作为司南 OpenCompass大模型评测体系的重要组成部分&#xff0c;致力于简化并加快研究人员和行业人士搜索和使用评测集的过程。评测集社区 CompssHub 目前已收录了学科、推理、知识、代码等12个方向的评测集&#xff0c;欢迎大家探索。 为了将评测集社区…