欢迎光临千百叶网
详情描述
Python UV 常用命令使用及说明

什么是 UV?

UV 是一个快速的 Python 包安装器和解析器,是 pip 和 pip-tools 的现代替代品,用 Rust 编写,速度极快。

安装 UV

# 使用 pip 安装
pip install uv

# 使用安装脚本(推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 在 Windows 上(使用 PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

基本命令

1. 初始化项目

# 在当前目录初始化 Python 项目
uv init

# 指定项目名称
uv init my-project

2. 管理虚拟环境

# 创建虚拟环境(默认在 .venv 目录)
uv venv

# 指定虚拟环境名称
uv venv myenv

# 使用特定 Python 版本
uv venv --python 3.11

# 激活虚拟环境
# Linux/macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate

# 删除虚拟环境
uv venv --remove

3. 包管理

安装包
# 从 requirements.txt 安装
uv pip install -r requirements.txt

# 安装单个包
uv pip install requests

# 安装指定版本
uv pip install "requests==2.31.0"

# 安装开发依赖
uv pip install -e ".[dev]"

# 安装 extras
uv pip install "package[extra1,extra2]"
生成 requirements.txt
# 生成 requirements.txt(包含所有依赖)
uv pip compile pyproject.toml -o requirements.txt

# 仅生成直接依赖
uv pip compile pyproject.toml --no-dev -o requirements.txt

# 生成带有哈希值的锁定文件
uv pip compile pyproject.toml --generate-hashes
升级包
# 升级所有包
uv pip install --upgrade -r requirements.txt

# 升级特定包
uv pip install --upgrade requests
卸载包
uv pip uninstall package_name

4. 项目管理

同步依赖
# 同步虚拟环境与 requirements.txt
uv pip sync requirements.txt

# 同步并升级
uv pip sync --upgrade requirements.txt
查看已安装包
# 列出所有已安装包
uv pip list

# 显示过时的包
uv pip list --outdated

# 显示依赖树
uv pip show package_name

5. 运行 Python 脚本

# 运行 Python 脚本
uv run python script.py

# 运行模块
uv run -m module_name

# 运行并传递参数
uv run python script.py arg1 arg2

6. 锁文件管理

# 生成锁文件
uv lock

# 从锁文件同步
uv sync

# 更新锁文件
uv lock --upgrade

高级用法

配置 UV

# 设置全局 Python 版本
uv python pin 3.11

# 设置镜像源
uv config set install.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 设置缓存目录
uv config set cache-dir /path/to/cache

性能优化

# 并行安装(默认启用)
uv pip install --parallel

# 禁用缓存
uv pip install --no-cache

# 清除缓存
uv cache clean

项目结构示例

my-project/
├── pyproject.toml    # 项目配置和依赖声明
├── uv.lock           # 锁文件(自动生成)
├── requirements.txt  # 依赖文件
├── .venv/           # 虚拟环境
└── src/
    └── app.py

pyproject.toml 示例

[project]
name = "my-project"
version = "0.1.0"
dependencies = [
    "requests>=2.28.0",
    "click>=8.0.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=7.0.0",
    "black>=23.0.0",
]
test = [
    "pytest>=7.0.0",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

常用工作流

1. 新项目初始化

# 1. 创建项目
uv init myproject
cd myproject

# 2. 创建虚拟环境
uv venv

# 3. 激活环境
source .venv/bin/activate  # Linux/macOS
# 或
.venv\Scripts\activate    # Windows

# 4. 添加依赖
uv pip install requests pandas

# 5. 生成 requirements.txt
uv pip freeze > requirements.txt

2. 现有项目设置

# 1. 克隆项目
git clone project-url
cd project

# 2. 创建虚拟环境
uv venv

# 3. 安装依赖
uv pip install -r requirements.txt

# 4. 运行项目
uv run python main.py

3. 依赖更新工作流

# 1. 检查过时的包
uv pip list --outdated

# 2. 更新 requirements.txt
uv pip install --upgrade package_name

# 3. 生成新的 requirements.txt
uv pip freeze > requirements.txt

# 4. 重新同步环境
uv pip sync requirements.txt

注意事项

速度优势:UV 比传统 pip 快 10-100 倍 兼容性:完全兼容 pip 的命令和包生态系统 锁文件:uv.lock 确保依赖一致性 跨平台:支持 Windows、macOS 和 Linux Python 版本管理:可以管理多个 Python 版本

与 pip 命令对比

功能 UV 命令 pip 命令
安装包 uv pip install pip install
虚拟环境 uv venv python -m venv
依赖解析 uv pip compile pip-compile
环境同步 uv pip sync pip-sync
运行脚本 uv run python

UV 提供了更统一、更快速的 Python 项目管理体验,特别适合现代 Python 开发工作流。

相关帖子
对于需要倒班的工作岗位,8小时工作时间是否包含用餐和短暂休息?
对于需要倒班的工作岗位,8小时工作时间是否包含用餐和短暂休息?
除了紧急停车按钮,地铁车厢内还有哪些容易被忽视的安全装置?
除了紧急停车按钮,地铁车厢内还有哪些容易被忽视的安全装置?
2026年,使用“跨省通办”服务办理结婚,婚前体检是否还是必需项目?
2026年,使用“跨省通办”服务办理结婚,婚前体检是否还是必需项目?
奖牌边缘因磕碰产生的小毛刺,可以使用哪些工具安全地打磨平整?
奖牌边缘因磕碰产生的小毛刺,可以使用哪些工具安全地打磨平整?
新修的农村水泥路设计寿命是多久?日常使用中有哪些注意事项?
新修的农村水泥路设计寿命是多久?日常使用中有哪些注意事项?
泉州市车辆抵押车大本贷款#银行汽车抵押贷款,企业税贷
泉州市车辆抵押车大本贷款#银行汽车抵押贷款,企业税贷
铜梁房子抵押贷款额度&汽车抵押贷款押车当天到账|公司银行大额担保贷款
铜梁房子抵押贷款额度&汽车抵押贷款押车当天到账|公司银行大额担保贷款
医保电子凭证在门诊就医和结算过程中起到什么关键作用?
医保电子凭证在门诊就医和结算过程中起到什么关键作用?
解读最新法规:“农转非”子女继承父母农村宅基地需要满足哪些条件?
解读最新法规:“农转非”子女继承父母农村宅基地需要满足哪些条件?
东莞市塘厦镇房屋二次抵押贷款-个人房子贷款公司,办理个人信用贷款
东莞市塘厦镇房屋二次抵押贷款-个人房子贷款公司,办理个人信用贷款
预防老人走失,2026年家庭可以提前做好哪些有效的防范措施?
预防老人走失,2026年家庭可以提前做好哪些有效的防范措施?
龙口市个人贷款征信有逾期能办理吗@车辆贷款押证-按揭房银行抵押贷款
龙口市个人贷款征信有逾期能办理吗@车辆贷款押证-按揭房银行抵押贷款
成都市大邑县房产证抵押贷款&房屋抵押贷款额度,贷款中介
成都市大邑县房产证抵押贷款&房屋抵押贷款额度,贷款中介
衢州市抵押汽车绿本贷款#押车贷款当天到账|抵押担保公司
衢州市抵押汽车绿本贷款#押车贷款当天到账|抵押担保公司
未来的智能厨房和物联网技术,将如何助力我们更精准地减少浪费?
未来的智能厨房和物联网技术,将如何助力我们更精准地减少浪费?
衡阳市公司车贷款#不押车贷款,个人小额贷款
衡阳市公司车贷款#不押车贷款,个人小额贷款
大理市房屋红本抵押贷款-房子抵押贷款公司,农户贷
大理市房屋红本抵押贷款-房子抵押贷款公司,农户贷
频繁更换电子产品的“以旧换新”模式,对地球资源的真实负担究竟有多重?
频繁更换电子产品的“以旧换新”模式,对地球资源的真实负担究竟有多重?
太仓市住房抵押贷款公司@房子银行抵押贷款-企业税票贷
太仓市住房抵押贷款公司@房子银行抵押贷款-企业税票贷