跳转至

uv

【uv】Python迄今最好的项目管理+环境管理工具(吧?)

python 的环境管理工具,迄今为止最好的吗?

uv 和 conda 的区别
  • 快 Rust写的

早期的包管理流程

python -m venv .venv  # 用venv为项目生成隔离的虚拟环境
pip install xxx  # 安装所需要的包
pip freeze > requirements.txt  # 为了让别人复现命令把包导出
'''
但这样做的缺点是: requirements.txt 中混合了所有直接和间接依赖导致很难维护
所以社区转向 pyproject.toml
只需要在其中声明项目的直接依赖
'''
pip install -e .  # 然后就会自动处理好所有的间接依赖了
# 手动修改pyproject太麻烦,所以有了uv/poetry

uv 使用

uv init my_project

一键生成

  • .git
  • .gitignore
  • README.md
  • main.py
  • pyproject.toml
  • .python-version