Windows 11 中利用 WSL - Linux 虚拟环境部署 ChatTTS-Enhanced 项目教程

news/2024/12/27 19:13:24/

#工作记录

在使用 Windows 系统尝试部署一些特定项目时,我们可能会遇到各种各样依赖包安装的问题。比如在 Windows 系统下,当我们想要在 Python 3.10 虚拟环境中,使用命令 “pip install resemble-enhance” 以及 “pip install WeTextProcessing” 来安装这两个包时,大概率会遭遇安装失败的情况。经过分析发现,这两个包好像并非针对 Windows 系统进行适配的,所以在 Windows 系统直接部署相关项目就会面临阻碍。

不过,我们可以借助 WSL(Windows Subsystem for Linux)创建 Linux 虚拟环境来解决这个问题,通过在该虚拟环境中进行项目部署,就能巧妙地避开这两个关键包在 Windows 系统下安装失败的困扰,进而顺利开展后续操作。下面将详细介绍如何在 Windows 11 中利用 WSL - Linux 虚拟环境来部署 ChatTTS-Enhanced 项目的完整过程。

一、安装报错处理(可能遇到的前期问题及解决办法)

在安装 WSL 相关环境时,有可能会出现一些错误情况,例如遇到 WSL0x80071772 错误。要是该错误是由于 Windows 11 系统设置中应用安装盘设置为 C 盘外其他盘导致的,通常将 “应用安装盘” 恢复为 C 盘是比较直接的解决办法,但也存在其他替代方案。

若你不想把 “应用安装盘” 恢复为 C 盘,可以尝试以下操作:先无视这个报错信息,接着直接安装其他 Linux 系统,像 Ubuntu、OracleLinux_9_1 等,可以多安装一两个不同版本的 Linux 系统,直至新安装的某个 Linux 系统能够正常运行。之后再重新启动 Ubuntu 24.04(这里假设你主要使用的是这个版本哦),这时有可能所有的 Linux 子系统都能正常运行了,从而避免因上述错误而阻碍后续操作。

二、部署步骤总览

整个部署流程大致可以分为以下几个关键部分:首先安装 WSL 并配置好相应的 Linux 系统(这里以 Ubuntu 为例),接着安装和配置一些必要的开发工具及依赖环境(如 VS Code 扩展、CUDA、CUDNN、Anaconda 等),创建合适的 Python 虚拟环境,最后在配置好的环境中完成 ChatTTS-Enhanced 项目的具体部署操作。

三、详细部署步骤

(一)安装 WSL

  1. 通过 “控制面板” 找到 “程序” 选项,接着选择 “启用或关闭 Windows 功能”。
  2. 在弹出的窗口里,找到并勾选 “适用于 Linux 的 Windows 子系统” 这一选项,然后点击 “确定” 按钮。
  3. 系统会自动开始安装相关组件,这个过程可能需要花费一些时间,请耐心等待,直到安装完成。

(二)安装 Ubuntu 系统 24.x 版(作为 Linux 虚拟环境基础)

  1. 打开微软商店(Microsoft Store),在搜索栏中输入 “Ubuntu 24.x”,从搜索结果中找到对应的 Ubuntu 版本后,点击 “安装” 按钮。
  2. 安装完成后,可以在开始菜单里找到并打开 Ubuntu 应用,它会自动进行初始化配置,按照提示依次设置好用户名和密码等信息,这些信息后续在操作 Linux 系统时会经常用到哦。

(三)选择使用 VS Code 连接 Linux 虚拟环境(对比 PyCharm)

在开发过程中,我们常常会借助一些集成开发环境(IDE)或代码编辑器来方便地进行代码编写、调试以及项目管理等工作。对于连接 WSL 中的 Linux 虚拟环境这一需求来说,常见的开发工具如 PyCharm 和 VS Code 都可以考虑,但二者存在一定区别。

PyCharm 分为专业版本和社区版本,其中专业版本是付费软件,它具备连接 WSL 虚拟环境的功能,能让我们在 Windows 系统下方便地与 Linux 环境进行交互开发。然而,其免费的社区版本并不支持这一功能,对于不想付费购买专业版的用户来说,就无法利用它来连接 WSL 里的 Linux 虚拟环境了。

而 VS Code 则不同,它本身是一款免费且开源的跨平台代码编辑器,通过安装相应的扩展就能轻松实现连接 WSL 虚拟环境这一功能。例如我们后续要安装的 “WSL” 扩展,安装之后就可以便捷地在 VS Code 中与 Linux 子系统里的虚拟环境进行交互操作了。至于其他编辑器,这里暂未进行相关尝试,综合考虑之下,VS Code 成为了连接 WSL 虚拟环境的一个合适选择。

(四)安装 VS Code 扩展(关键步骤,用于连接 Linux 子系统中的虚拟环境)

  1. 打开 Visual Studio Code(VS Code)软件,如果电脑上还未安装,可以先去官网(Visual Studio Code - Code Editing. Redefined)下载并安装。
  2. 进入 VS Code 后,点击左侧的扩展图标(一般是四个方块组成的图标),打开扩展商店。
  3. 在扩展商店的搜索框中输入 “WSL”,在搜索结果里找到官方的 “WSL” 扩展,点击 “安装” 按钮进行安装。安装完成后,建议重启 VS Code,以确保扩展能正常生效并发挥作用哦。

 

(五)安装 CUDA(根据实际需求决定是否安装,如果 ChatTTS-Enhanced 项目需要使用 GPU 加速,通常需要安装 CUDA)

  1. 打开已经安装好的 Ubuntu 系统终端(可以通过开始菜单里的 Ubuntu 图标打开),在终端里输入 “sudo apt update” 命令,这个命令的作用是更新系统的软件包列表,确保后续能获取到最新版本的软件包信息,输入命令后按回车键执行,可能需要输入当前用户的密码进行权限验证(密码输入时是不会显示出来的哦,输完直接按回车键就行),等待更新完成。
  2. 然后依据项目所需的 CUDA 版本到 NVIDIA 官方网站(CUDA Toolkit 12.6 Update 3 Downloads | NVIDIA Developer)查找对应的 WSL 系统安装命令,复制该命令后回到 Ubuntu 终端粘贴并回车执行,就会开始下载并安装对应的 CUDA 版本了。安装过程可能会花费一些时间,需要耐心等待哦。
  3. 安装完成后,通过在终端里输入 “nvcc -V” 命令来验证 CUDA 是否成功安装,如果能看到显示出 CUDA 的版本信息,那就说明安装成功啦。

(六)安装 CUDNN(同样根据需求决定,通常配合 CUDA 使用,用于深度学习等场景)

  1. 先访问 NVIDIA 官方网站(cuDNN 9.6.0 Downloads | NVIDIA Developer),根据已经安装好的 CUDA 版本,在网站上找到适合的 CUDNN 版本以及对应的官方安装命令。
  2. 在 Ubuntu 终端里按照找到的命令依次执行,先是下载 CUDNN 的安装文件,然后进行安装操作,安装完成后,可以通过一些网上搜索的简单测试代码(不同版本和应用场景的测试代码可能有所不同哦)来验证 CUDNN 是否正常工作,以此确保其能为后续的项目提供相应的支持。

(七)安装 Anaconda(方便管理 Python 环境和安装项目依赖的包)

  1. 前往 Anaconda 官方网站(Download Anaconda Distribution | Anaconda)下载适用于 Linux 系统的最新 Anaconda 包,注意要选择对应 Linux 版本的安装文件哦(一般是.sh 后缀的文件)。
  2. 下载完成后,在 Ubuntu 终端里通过 “cd” 命令进入到下载文件所在的目录(例如,如果文件下载到了默认的 “Downloads” 目录,就输入 “cd Downloads” 命令进入该目录)。
  3. 接着在终端里输入 “bash Anaconda 文件名.sh” 命令(记得把文件名替换成你实际下载的文件名哦),然后按照安装过程中的提示一路回车或者输入 “yes” 即可完成安装。安装完成后,通过输入 “conda -V” 命令验证 Anaconda 是否安装成功,若能显示出 Anaconda 的版本信息,则说明安装成功啦。(其他依赖可以根据实际进行微调)

(八)安装相关依赖并配置环境变量

  1. 根据 ChatTTS-Enhanced 项目要求,使用 “conda install” 命令来安装所需的依赖包,例如像 numpy、pandas 等常用的 Python 库(具体依赖包要看项目的 README 文件或者相关说明文档哦)。比如要安装 numpy 包,就在终端里输入 “conda install numpy” 命令执行安装就行啦,安装多个包时可以在命令里依次罗列包名,中间用空格隔开哦。
  2. 安装完成依赖包后,还需要配置环境变量,这样系统才能准确找到相关的程序和库文件所在的位置呢。打开 “~/.bashrc” 文件(在终端里输入 “nano ~/.bashrc” 命令,会使用 nano 文本编辑器打开该文件哦),在文件末尾添加 Anaconda 的环境变量配置内容,一般是类似 “export PATH="$PATH:/home/ 用户名 /anaconda3/bin"” 这样的语句(注意把这里的用户名替换成你自己在 Ubuntu 系统里设置的用户名哦),添加完成后,按 “Ctrl + X” 组合键,然后按 “Y” 键保存修改,再按回车键退出 nano 编辑器。
  3. 最后在终端里输入 “source ~/.bashrc” 命令,使刚才配置的环境变量生效,这样就完成环境变量的配置啦。

 

(九)安装 Torch(常用于深度学习项目,同样按需安装,ChatTTS-Enhanced 项目若涉及深度学习相关功能可能需要)

  1. 根据项目所需的 Torch 版本,在终端里使用 “conda install pytorch torchvision torchaudio -c pytorch” 命令来安装 Torch(这里的命令可能因版本不同而有所差异,要根据实际情况调整哦,比如不同的 CUDA 版本搭配的 Torch 版本安装命令会不一样,具体可以查看 PyTorch 官方网站的安装说明)。
  2. 安装完成后,通过以下 Python 代码来验证 Torch、CUDA 和 CUDNN 的安装情况(可以在终端里输入 “python” 命令进入 Python 交互环境,然后粘贴以下代码执行哦):

 

 

python

import torch
print(torch.__version__)
print(torch.cuda.is_available())

如果能正确打印出 Torch 的版本号,并且 “torch.cuda.is_available ()” 返回 “True”,那就说明 Torch、CUDA 和 CUDNN 之间的配合安装是成功的啦,可以为后续基于深度学习等相关项目提供支持了哦。

(十)新建虚拟环境(以创建一个新的 Python 虚拟环境为例)

  1. 在 VS Code 中点击左下角绿色的 “><” 图标,选择已经安装好的 Ubuntu 系统终端进入。
  2. 在终端里输入 “conda create -n [虚拟环境名称] python=[指定的 Python 版本]” 命令来创建虚拟环境(例如 “conda create -n myenv python=3.10” 就是创建一个名为 “myenv” 且 Python 版本为 3.10 的虚拟环境哦,你可以根据自己的需求来调整虚拟环境名称和 Python 版本)。
  3. 创建完成后,输入 “conda activate [虚拟环境名称]” 命令(例如 “conda activate myenv”)来激活这个虚拟环境,激活后在终端提示符前面会显示出当前所在的虚拟环境名称,这样后续安装的包和执行的操作都会在这个虚拟环境下进行啦,方便不同项目之间的环境隔离哦。

 

(十一)部署 ChatTTS-Enhanced 项目

1、在激活的虚拟环境终端中,通过以下 git 命令克隆 ChatTTS-Enhanced 项目代码(假设项目地址为 GitHub - CCmahua/ChatTTS-Enhanced,你需要替换成实际的项目仓库地址哦):

git clone https://github.com/CCmahua/ChatTTS-Enhanced.git

2、克隆完成后,进入项目目录(假设项目目录名为 ChatTTS-Enhanced,根据实际克隆后的目录名调整):

#Linux
#安装CUDA、cuDNN、pytorch框架
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=11.8 -c pytorch -c nvidia#安装cython
pip install cython -i https://mirrors.aliyun.com/pypi/simple/#安装依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/#安装resemble-enhance的linux包
pip install resemble-enhance -i https://mirrors.aliyun.com/pypi/simple/#安装WeTextProcessing的linux包
pip install WeTextProcessing -i https://mirrors.aliyun.com/pypi/simple/#启动界面
python webui/webui.py

3、最后依据项目说明文档中给出的运行命令来启动项目(具体运行命令需要根据具体问题具体分析),这样就可以在 Windows 11 系统下借助 WSL - Linux 虚拟环境成功运行 ChatTTS-Enhanced 项目啦。

 

四、总结

通过以上一系列详细的步骤操作,我们便能在 Windows 11 系统中利用 WSL 构建的 Linux 虚拟环境完成 ChatTTS-Enhanced 项目的部署。整个过程虽然较为复杂,但只要严格按照步骤操作,注重每个环节的细节,如命令的准确性、版本的兼容性等,就能顺利实现部署。在操作过程中如果遇到什么问题,可以多查看命令执行时的报错提示信息,然后通过搜索引擎或AI查找对应的解决办法,或者参考项目官方文档及社区讨论内容哦。希望这个教程对你有所帮助呀,祝你顺利运行 ChatTTS-Enhanced 项目并探索其有趣的功能呢。

你可以根据实际情况对上述步骤中的一些内容进行调整,比如选择不同的 Linux 发行版、软件版本以及项目具体的配置要求等,若还有其他需要完善或者修改的地方,欢迎随时告诉我哦。


http://www.ppmy.cn/news/1558595.html

相关文章

在js中实现下载base64数据,兼容低版本

详细步骤如下 1、解析 Base64 数据&#xff1a; 如果数据流中包含前缀 data:…;base64,&#xff0c;先分离 MIME 类型和 Base64 数据部分。如果没有前缀&#xff0c;假设默认 MIME 类型&#xff08;如 application/octet-stream&#xff09;。 2、Base64 解码&#xff1a; 使…

JS面试题|[2024-12-26]

1.事件委托是什么 又叫事件代理&#xff0c;原理就是直接利用了事件冒泡的机制来实现&#xff0c;也就是说把子元素的事件绑定到了父元素的身上&#xff0c;如果子元素阻止了事件冒泡&#xff0c;那么委托也就不成立了。 阻止事件冒泡&#xff1a;event.stopPropagation() addE…

一个特别的串口通讯

背景 设备是EPICS流式细胞仪&#xff0c;这个设备的控制系统是在DOS系统上的。数据存储在硬盘上&#xff0c;不带串口通讯功能。我们遇到了这个设备后&#xff0c;就开发了一个DOS下的执行程序通过串口&#xff0c;将最新的数据自动上传到服务器上。 编译工具 Turbo C 数据…

MIT实验笔记冲刺2 实验部分

目录 实现trace调用&#xff08;系统调用跟踪&#xff08;中等&#xff09;&#xff09; 攻击 xv6&#xff08;中等&#xff09; 下面就是实验的部分&#xff0c;Lab2中的实验有两个。一个是syscall implementations&#xff0c;另一个则是利用未抹除的内存内容来读取上一个内…

【MySQL】在MySQL中如何定位慢查询?

MySQL慢查询定位面试问答总结 一、面试官提问 在MySQL中如何定位慢查询&#xff1f; 二、面试者回答 &#xff08;一&#xff09;整体思路 定位慢查询主要有两种方式&#xff0c;一种是使用开源工具&#xff0c;另一种是利用MySQL自带的慢日志查询功能。 &#xff08;二&a…

c# 线程 AutoResetEvent 的Set()函数多次调用

本文部分内容摘自ChatGPT 在 C# 中&#xff0c;AutoResetEvent 是一种用于线程同步的机制&#xff0c;它的行为类似于一个信号量&#xff0c;主要用于在多线程环境中发出信号并控制线程的执行。AutoResetEvent 的主要特点是每当调用 Set() 方法时&#xff0c;信号会被设置&…

设置postgreSQL字段自增

CREATE SEQUENCE ai_mirror_opcode_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; nextval(ai_mirror_opcode_seq) 手动创建序列并设置默认值&#xff1a; 如果你需要更细粒度的控制&#xff0c;可以手动创建一个序列&#xff0c;并将其设置为某个字段的…

STM32串口无法正常中断

1.串口无法中断是由于第一次使用 HAL_UART_Receive_IT(&huart6(uint8_t*)&My_Control.Data.SeriaReceivelData,sizeof(My_Control.Data.SeriaReceivelData));//使能串口接受中断 之后没有在回调函数里再一次使用 2.串口无法使用&#xff0c;观察寄存器 发现RXNE标志…