简介:uv 是一个用 Rust 编写的、极其快速的 Python 包管理和项目工作流工具,旨在成为一个单一、统一的工具,取代我们熟悉的 pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv 等一整套工具链。
历史攻略:
Python:指定的Python版本pip
Python:升级、降级、强制重新安装pip版本
Python:pip升级超时解决方案
Python:快速清空 pip list
pip查看某个包存在的历史版本
conda:用指定python环境版本pip安装第三方模块
pip安装第三方库全攻略:普通安装、安装whl后缀文件、使用国内镜像安装

文档资料:

# github地址
https://github.com/astral-sh/uv

# 官网地址
https://docs.astral.sh/uv/

安装uv: 推荐pip安装方式

# macOS & Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# With pip.
pip install uv

# Or pipx.
pipx install uv

以Flask为例:

# -*- coding: utf-8 -*-
# time: 2025/11/30 20:18
# file: uv_demo.py
# author: tom
# 微信公众号: 玩转测试开发

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return '<h1>Hello, World!</h1><p>Powered by uv ⚡</p>'


@app.route('/user/<name>')
def user(name):
    return f'<h1>Hello, {name}!</h1>'


if __name__ == '__main__':
    app.run(debug=True)

1、上古时代:全局环境变量下安装

pip install flask==3.1.2

存在的问题:

a、 如果有不同项目,可能存在版本冲突。
b、 嵌套等复杂的依赖关系。

2、奴隶社会: 创建venv虚拟环境,激活后安装flask,解决项目相互独立依赖问题。

python -m venv .venv
source .venv/bin/activate
pip install flask

3、封建社会: pip freeze > requirements.txt,列出当前 Python 环境中所有已安装的包及其精确版本号,将输出重定向到 requirements.txt 文件中(创建或覆盖),pip install -r requirements.txt 一键安装全部依赖项。缺点: 无法区分直接和间接的依赖。

pip freeze > requirements.txt
pip install -r requirements.txt 

4、近代社会: 创建 pyproject.toml 官方指定统一的配置文件,它正在逐渐取代 setup.py 和 requirements.txt 使用pip install -e . 进行安装 如下案例

[project]
name = "my_package"
authors = [{name = "张三", email = "zhangsan@example.com"}]
version = "0.1.0"
description = "我的Python包"
readme = "README.md"
dependencies = [
"flask>=3.1.2"
]

运行结果:

图片

5、现代社会: 使用uv添加依赖。uv add flask

运行项目: uv run main.py

运行结果:

在这里插入图片描述

图片

小结:uv 的出现,是 Python 工具链现代化进程中一个里程碑式的事件。它用无可辩驳的性能优势,展示了未来 Python 项目管理的模样。 uv一个工具搞定包管理、虚拟环境、运行脚本、支持锁文件,保证环境一致性,从而节省宝贵的开发时间。 强烈安利大家更新使用!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐