
uv
uv is an extremely fast Python package and project manager, written in Rust.
它号称比
pip
快10-100倍。我的体验是可以让项目更工程化的管理,感觉有点像js的pnpm
包管理,而且它也使用中心化来存储和复用包。项目结构
uv init example
会产生以下项目结构:. ├── .gitignore ├── .python-version ├── README.md ├── main.py └── pyproject.toml
使用
uv add [package]
会创建.venv
文件夹并在工作目录下创建虚拟环境。使用
uv run
, uv sync
, uv lock
会创建uv.lock
文件。. ├── .venv │ ├── bin │ ├── lib │ └── pyvenv.cfg ├── .python-version ├── README.md ├── main.py ├── pyproject.toml └── uv.lock
项目依赖
使用
uv add [package]
将包加入依赖并下载。使用
uv add -r requirements.txt
从文本中添加依赖。使用
uv lock --upgrade-package [package]
升级包,--upgrade-package
标志将尝试将指定的包更新为最新的兼容版本,同时保持锁定文件的其余部分不变。运行指令
uv run -- flask run -p 3000
在项目文件夹下运行指令。或者,使用
uv sync
来手动更新虚拟环境,然后激活虚拟环境:uv sync source .venv/bin/activate flask run -p 3000 python example.py