python window下面uv安装和使用

13 阅读3分钟

python window下面uv安装和使用

uv使用

官网[docs.astral.sh/uv/\]

安装

github下载安装[github.com/astral-sh/u…]

直接解压和环境配置

img

  • 执行命令验证是否安装成功

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

img

实操项目构建pip和uv进行区别比较
  • pip工作流
  1. cd E:\mywork\kcnf-python\sample\venv
  2. python -m venv .venv
  3. .venv\Scripts\activate
  4. 安装后运行pip freeze > requirements.txt

img

  • uv工作流
  1. uv init E:\mywork\kcnf-python\sample\uv
  2. uv venv 创建虚拟环境,但无需手动激活(uv会自动识别)
  3. 完成创建

img

  • 以上两组操作项目结构对比

img

实操pip和uv添加依赖和项目启动比对
依赖
  • pip工作流

pip install requests(然后需手动更新requirements.txt文件)

img

  • uv工作流

uv add requests(它会自动将依赖添加到pyproject.toml,并生成/更新精确锁定所有依赖版本的uv.lock文件)

img

  • 依赖文件比对

img

运行
  • 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