从pip全面转向uv,回不去啰

自从在学习开发MCP用uv来管理开发环境时,就觉出uv的不同:安装速度奇快、效率奇高!虽然pip用起来似乎更顺手(当然这可能只是习惯问题),但是比起效率来,uv高出来不是一点半点。

uv.jpg
vu(来源:网络)

不用激活环境

用pip一直要activate,每次开始都要重来一遍,或是简单地来下测试,必要的activate总是少不了。一用uv后发现,activate并不是必须的,直接uv run即可,大大省事啰。

安装速度快

反正速度奇快,比pip快一个量级!刚开发Agent时,经常要安装LangChain这样的包,刚开始时非常不顺,经常安装不上。后来切换了国内源,倒是勉强能用。用上uv,那几乎就不用操心,咔咔一两分钟就能全部搞定,真是神一样的速度!

pip 和 uv其实两者内核是一样的,但是新工具确实优化了很多,怎么也得跟上新发展不是。后文是一些笔记总结,感兴趣的小伙伴可以试试。

简介

uv 是 Astral 公司推出的一款基于 Rust 编写的 Python 包管理工具,旨在成为 “Python 的 Cargo”。它提供了快速、可靠且易用的包管理体验,在性能、兼容性和功能上都有出色表现,为 Python 项目的开发和管理带来了新的选择。
An extremely fast Python package and project manager, written in Rust.

基本命令和操作

1. 安装
# 通过PIP安装(推荐)
直接使用Python自带的pip安装,兼容性最佳:
pip install uv   
uv --version  //uv 0.12.7
uv help

# 升级 uv 自身(确保获取最新功能和 bug 修复)
uv self update

2. 初始化项目
uv init my_project
# // init -p 3.13 指定python版本
cd my_project
# 这会创建以下基本项目结构:
my_project/
└──src
|   └──my_project
|        └──__init__.py      
├── pyproject.toml    # 项目配置和依赖声明
├── .python-version   # 固定 Python 版本
└── README.md
3. 创建虚拟环境
uv venv  #创建默认的 .venv 环境
# Creating virtual environment at: .venv
# Activate with: .venv\Scripts\activate
# 使用指定 Python 版本创建虚拟环境
uv venv --python 3.12
# 注意:uv创建了默认的环境后,可以直接安装包和运行文件,无需再激活环境!
# 激活虚拟环境,这是为了兼容pip的用法  
# source .venv/Scripts/activate  #windows
# source .venv/bin/activate  #ubuntu

4. 全局镜像配置
默认的 PyPI 源在国内访问较慢,配置国内镜像可大幅提升依赖安装速度。
全局配置后,所有项目默认使用指定镜像,无需重复设置。
步骤1:找到配置文件路径
    Linux/macOS: ~/.config/uv/uv.toml
    Windows: %APPDATA%\uv\uv.toml 
       eg: C:\Users\jacky\AppData\uv
步骤2:创建/编辑配置文件
C:\Users\jacky\AppData\uv\uv.toml
步骤3:添加镜像源配置
# 阿里云镜像(推荐,稳定性好)
[[index]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"
default = true
# 可选:清华大学镜像(学术网络友好)
# url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
# [registries.douban]
# url = "https://pypi.doubanio.com/simple/"

// 临时用阿里云镜像
# 安装 requests 时临时用阿里云镜像
uv add requests --index-url https://mirrors.aliyun.com/pypi/simple/
# 同步环境依赖时临时用清华镜像
uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple/

5. 安装包
uv add mcp requests
# uv add 可以理解为 uv pip install的增强版,底层同样是利用了pip进行安装,但是uv add额外增加了更新项目配置文件的功能
# 添加指定版本的依赖
uv add "requests>=2.31.0"
# 添加开发依赖(只在开发环境使用,如测试框架)
uv add --dev pytest ruff
# 移除依赖
uv remove requests
# 导出依赖:
uv pip freeze > requirements.txt  # 兼容传统格式
# 设置国内镜像,如果安装速度慢,可以在 pyproject.toml 中设置国内镜像源
[tool.uv]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
# 查看已安装的包:
uv pip list

6. 运行
uv run 是 uv 中非常实用的命令,可以无需手动激活虚拟环境直接运行脚本或命令,uv 会自动找到并使用正确的环境
# 直接运行 Python 脚本
uv run main.py
# 运行任意命令(在虚拟环境的上下文中执行)
uv run python -c "import requests; print(requests.__version__)"

7. 同步依赖
根据pyproject.toml和uv.lock自动安装依赖:
uv sync
Sort:  

Congratulations @lemooljiang! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 100000 upvotes.
Your next target is to reach 110000 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

Hive Power Up Day - September 1st 2026