跳至正文
Wener Notes

uv

约 1 分钟阅读
标签:包管理器
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
brew install uv # macOS Homebrew
pip install uv
# ~/.local/bin
pipx install uv
export PATH="$HOME/.local/bin:$PATH"

uv init example
cd example
uv add ruff
uv run ruff check
uv sync

# Python 版本管理
uv python install 3.10 3.11 3.12
uv venv --python 3.11 # 按需下载
uv run --python [email protected] -- python --version
uv python pin 3.12 # 固定 .python-version

uv pip
uv venv

uv pip sync pyproject.toml
uv pip compile pyproject.toml -o requirements.lock
uv pip sync requirements.lock
依赖包

FAQ

bash
uv sync --extra cpu
toml
# 可选依赖组
[project.optional-dependencies]
cpu = [
    "torch==2.8.0+cpu",
    "torchvision==0.23.0+cpu",
    "torchaudio==2.8.0+cpu",
]
cu128 = [
    "torch==2.8.0+cu128",
    "torchvision==0.23.0+cu128",
    "torchaudio==2.8.0+cu128",
]

# 包索引 / 源
[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
# 专用
explicit = true

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

# 关联 包 <-> Index
[tool.uv.sources]
torch = [
	{ index = "pytorch-cpu", extra = "cpu" }, # 条件控制
	{ index = "pytorch-cu128", extra = "cu128" },
]
torchvision = [
	{ index = "pytorch-cpu", extra = "cpu" },
	{ index = "pytorch-cu128", extra = "cu128" },
]

[tool.uv]
index-url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
# 互斥
conflicts = [[
	{ extra = "cpu" },
	{ extra = "cu128" },
]]


No module named 'setuptools'

bash
uv pip install setuptools
依赖包

关联信息

反向链接、本文链接的其他页面和外部资料。

反向链接

  • Python Awesome
    笔记 · uv

    | PEP | tags | for | · | PEP 513 | manylinux1x8664, manylinux1i686 | CentOS 5, EOL on 2017-3-31 | · | PEP 571 | manylinux2010x8664, manylinux2010i686 | CentOS 6, EOL on 2020-11-...

参考资料

GitHub1 条
最近更新commit 7c3df6d编辑