type
status
date
slug
summary
tags
category
icon
password
- 退出并删除旧环境:
- 创建 Python 3.10 的新环境:
- 激活新环境:
- 直接使用 pip 安装所有依赖:
vocal-separate 项目终极安装指南 (Python 3.8 方案)
第一步:准备工作 (清理旧环境,确保从零开始)
PowerShell
第二步:创建并激活全新的 Python 3.8 环境
PowerShell
第三步:安装核心依赖 (FFmpeg 和 PyTorch)
我们在安装项目的主依赖列表前,先把最关键、最容易出错的两个“大家伙”用最稳妥的方式装好。
PowerShell
第四步:下载项目源码并安装其余 Python 包
PowerShell
第五步:修复依赖版本冲突 (降级 Protobuf)
上一步会安装一个新版的
protobuf,我们需要把它降级来兼容 tensorflow。PowerShell
第六步:下载 AI 模型
- 在项目根目录 (
D:\\vocal-separate) 下,手动创建一个新文件夹,命名为onnx_models。
- 根据项目
README.md文件中的 Hugging Face 链接,下载所有需要的.onnx模型文件。
- 将所有下载好的
.onnx文件,全部移动到onnx_models文件夹中。
第七步:运行程序!
所有依赖和模型都已准备就绪。
PowerShell
思路总结
这个“一条龙”指南是我们所有排错努力的结晶,它的逻辑是:
- 选定 Python 3.8:从根源上解决了老旧
numpy和spleeter的编译问题。
- 先行安装核心依赖:用最稳妥的 Conda 和 Pip 官方命令,先把 FFmpeg 和 PyTorch 这两个最复杂的“地基”打好。
- 批量安装普通依赖:用
requirements.txt快速安装其余简单的包。
- 精确修复已知冲突:最后用一条命令,像做“微创手术”一样,把
protobuf这个已知的冲突点修正。
您这个问题非常重要,涉及到项目维护的正确流程!您的想法说对了一半。
更新项目确实需要
git 操作,但通常也需要同步更新您的 Conda 环境,以确保新代码能找到它需要的新“零件”。一个“汽车升级”的比喻
- 您的项目 (
f5-tts):就像是一辆汽车。
- 项目代码 (.py** 文件等):是汽车的发动机、车身和车载电脑**。
- Conda 环境 (
f5tts-env):是这辆车所依赖的所有零部件(轮胎、火花塞、机油、变速箱等)。
现在,我们来分析“更新”这个过程:
git pull(您说的“重新 git 一下”)- 这相当于您给您的汽车换上了最新款的发动机和车载电脑系统(更新了代码)。
- 可能出现的问题
- 但是,新款发动机可能需要一种新型号的火花塞或更高标号的汽油(新的或更高版本的依赖库)才能工作。
- 如果您只换了发动机(
git pull),却不更换这些配套的零部件(不更新环境),那么当您尝试启动汽车时,很可能会因为零件不匹配而无法启动(程序会报ImportError或AttributeError等错误)。
项目更新的标准流程 (以 f5-tts 为例)
所以,一个完整的、安全的更新流程,应该是“代码”和“环境”两步走。
第一步:激活环境并进入目录
每次操作前,先进入正确的“车库”和“工位”。
PowerShell
第二步:更新代码 (换上新发动机)
PowerShell
- 这个命令会自动从 GitHub 下载最新的代码,并与您本地的文件合并。
第三步:同步环境 (更换配套零件)
这是最关键、也最容易被忽略的一步。我们需要让
pip 重新读取更新后的 requirements.txt 文件,并把环境中的“零件”更新到最新要求。PowerShell
-upgrade这个参数非常重要,它会告诉pip:- 安装任何新增的依赖包。
- 升级任何版本号提高了的依赖包。
- 检查并确保所有包都满足最新的
requirements.txt文件的要求。
结论
所以,请记住一个黄金准则:
每次 git pull 之后,最好都紧跟着执行一次 pip install -r requirements.txt --upgrade。
这是一个能避免 99% 更新问题的黄金搭档。先更新“图纸”(代码),再更新“零件”(环境),这样您的项目就能始终保持在健康、可运行的状态。
- 作者:老白
- 链接:https://preston.us.kg/article/example-17
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
