python window下面uv安装和使用
uv使用
安装
github下载安装[github.com/astral-sh/u…]
直接解压和环境配置
- 执行命令验证是否安装成功
uv --version
uv和pip区别
- pip
pip是专注的、Python官方的“包安装工具”
- uv
而uv是更现代的、Rust编写的“一体化Python项目管理器”,旨在解决pip在性能和功能上的诸多局限(集成了项目创建、依赖锁定、Python版本管理、虚拟环境管理、脚本运行等多种功能)
执行安装命令遇到如下错误
C:\Users\74760>uv pip install requests
error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
因为 uv 默认要求在虚拟环境中安装包
-
解决办法:
-
创建虚拟环境
-
调整执行命令(如下采用这种方式)
uv pip install --system requests
-
实操项目构建pip和uv进行区别比较
- pip工作流
- cd E:\mywork\kcnf-python\sample\venv
- python -m venv .venv
- .venv\Scripts\activate
- 安装后运行pip freeze > requirements.txt
- uv工作流
- uv init E:\mywork\kcnf-python\sample\uv
- uv venv 创建虚拟环境,但无需手动激活(uv会自动识别)
- 完成创建
- 以上两组操作项目结构对比
实操pip和uv添加依赖和项目启动比对
依赖
- pip工作流
pip install requests(然后需手动更新requirements.txt文件)
- uv工作流
uv add requests(它会自动将依赖添加到pyproject.toml,并生成/更新精确锁定所有依赖版本的uv.lock文件)
- 依赖文件比对
运行
- pip工作流
确保虚拟环境已激活,然后运行python main.py
- uv工作流
无需关心环境是否激活,直接运行uv run main.py(uv会自动识别并使用项目关联的虚拟环境)
常用命令
uv tree # 显示依赖树(需要 uv 0.2.0+)
uv pip list # 列出当前环境已安装的包
uv remove requests # 从 pyproject.toml 和锁文件中移除
完整命令demo
# 1. 创建项目
uv init my-app
cd my-app
# 2. 创建虚拟环境
uv venv
# 3. 添加依赖
uv add fastapi uvicorn
# 4. 运行应用
uv run uvicorn main:app --reload
# 5. 添加开发依赖
uv add --dev pytest
# 6. 运行测试
uv run pytest
# 7. 同步团队成员的环境
# (团队成员拉取代码后执行)
uv sync