build: 添加 pyproject.toml 配置和 uv 包管理器支持

- 新增 pyproject.toml 文件,定义项目依赖和构建设置
- 配置 uv 包管理器,包含多个镜像源以提升下载速度
- 指定 PyTorch 相关包从官方源安装,其他包使用清华镜像源
- 生成并包含 uv.lock 文件以确保依赖版本的可重现性
- 更新 .gitignore 文件,启用 uv.lock 文件的版本控制跟踪
- 项目依赖包括音频处理、机器学习、Web界面等核心库
This commit is contained in:
2025-11-18 12:09:26 +08:00
parent 2ddd9d0219
commit df7cccf30f
3 changed files with 5844 additions and 1 deletions

2
.gitignore vendored
View File

@@ -119,7 +119,7 @@ ipython_config.py
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
uv.lock
#uv.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.

74
pyproject.toml Normal file
View File

@@ -0,0 +1,74 @@
[project]
name = "GPT-SoVITS-WebUI"
version = "0.0.1"
authors = [
{ name="RVC-Boss", email="test@test.com" },
]
description = "GPT-SoVITS-WebUI"
requires-python = ">=3.10"
dependencies = [
"torch",
"torchaudio",
"torchvision",
"numpy<2.0",
"scipy",
"tensorboard",
"librosa==0.10.2",
"numba",
"gradio<5",
"ffmpeg-python",
"onnxruntime; platform_machine == 'aarch64' or platform_machine == 'arm64'",
"onnxruntime-gpu; platform_machine == 'x86_64' or platform_machine == 'AMD64'",
"tqdm",
"funasr==1.0.27",
"cn2an",
"pypinyin",
"pyopenjtalk>=0.4.1",
"g2p_en",
"modelscope==1.10.0",
"sentencepiece",
"transformers>=4.43,<=4.50",
"peft",
"chardet",
"PyYAML",
"psutil",
"jieba_fast",
"jieba",
"split-lang",
"fast_langdetect>=0.3.1",
"wordsegment",
"rotary_embedding_torch",
"ToJyutping",
"g2pk2",
"ko_pron",
"opencc",
"python_mecab_ko; sys_platform != 'win32'",
"fastapi[standard]>=0.115.2",
"x_transformers",
"torchmetrics<=1.5",
"pydantic<=2.10.6",
"ctranslate2>=4.0,<5",
"huggingface_hub>=0.13",
"tokenizers>=0.13,<1",
"av>=11",
]
[tool.uv]
python-install-mirror = "https://gh-proxy.com/https://github.com/astral-sh/python-build-standalone/releases/download/"
[tool.uv.sources]
torch = {index = "pytorch"}
torchaudio = {index = "pytorch"}
torchvision = {index = "pytorch"}
[[tool.uv.index]]
name = "tuna"
url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
default = true
[[tool.uv.index]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

5769
uv.lock generated Normal file

File diff suppressed because it is too large Load Diff