使用uv管理Python项目
初始化项目
可以使用命令uv init
来创建一个项目目录,会生成入下内容:
uv_project
├── .git
├── .gitignore
├── main.py
├── pyproject.toml
├── .python-version
└── README.md
其中包括自动生成的git仓库和.gitignore
文件、pyproject.toml
项目配置文件和记录python版本的.python-version
文件,以及一个项目说明文README.md
下面是init命令的一些参数与用法:
# 在当前目录下初始化项目
uv init
# 创建uv_project目录并在其中初始化项目
uv init uv_project
# 使用python3.13版本初始化项目
uv init -p cpython-3.13
# 创建uv_project目录并使用python3.13在其中初始化项目
uv init uv_project -p cpython-3.13
如果希望使用指定版本的python初始化项目,可以通uv python list
命令查看所有可用的python版本。
管理依赖
使用 uv 管理项目时,不再需要 requirements.txt
文件来记录项目依赖。uv 通过 pyproject.toml
文件管理依赖库,避免记录多余的依赖项。
例如,要安装 requests
包,只需在项目目录下执行 uv add requests
命令。uv 会自动记录依赖信息,同时避免将 requests
的依赖项添加到依赖列表。如果项目没有虚拟环境,安装依赖时 uv 会自动创建一个符合 Python 版本的 .venv
文件夹来存放虚拟环境。
当拿到一个使用 uv 管理的项目时,首次运行前只需执行 uv sync
命令,即可自动创建虚拟环境并安装所有依赖。
下面是一些uv管理依赖的命令示例:
# 同步项目依赖
uv sync
# 添加httpx作为项目依赖
uv add httpx
# 添加仅开发环境使用的依赖
uv add pytest --dev
# 删除依赖
uv remove httpx
# 删除仅开发环境使用的依赖
uv remove pytest --dev
# 升级所有依赖
uv lock --upgrade