uv工具的安装:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv工具的安装:
curl -LsSf https://astral.sh/uv/install.sh | sh
# 查看uv的版本
uv --version
# 将uv更新到最新版本
uv self update
当然有关uv的用法还有很多。
https://docs.astral.sh/uv/
等到后期用到python项目时再来补充,需要用再学效率更高。
1、使用虚拟环境
# 创建名为pelican的虚拟环境并指定python版本。
uv venv pelican --python 3.12
# 激活pelican虚拟环境
source pelican/bin/activate
# 将软件包安装到虚拟环境中
uv pip install "pelican[markdown]"
重写写一下基本使用,主要用于虚拟环境,使用起来确实相较于conda更快。
# 安装 uv 包管理工具
curl -LsSf https://astral.sh/uv/install.sh | sh
# 创建集中管理的虚拟环境目录
# mkdir -p ~/.venvs
# 在该目录下创建项目虚拟环境
uv venv ~/.venvs/docling-env --python 3.12
# 激活虚拟环境
source ~/.venvs/docling-env/bin/activate
# 安装 docling 包
uv pip install docling
可以参考这个集中管理虚拟环境的方式,也可以在各自对应的项目中新建.venv作为虚拟环境目录。
uv的实操也可以参考mcp中的quick start,里面的命令就是一些uv的基本操作。
uv tool install, uv pip install, uv add 的区别与联系这三个命令都利用了 uv 高效的包解析和安装能力,但它们服务于不同的目的,操作的环境和影响也不同。
uv pip installpip install 的直接替代品,用于在当前激活的 Python 环境(通常是项目虚拟环境)中安装包。requirements.txt 文件或 pyproject.toml 中的依赖项。pyproject.toml 文件来记录依赖关系(除非是根据 pyproject.toml 进行安装)。pip install。requirements.txt 或 pyproject.toml 文件安装项目依赖。uv tool install~/.local/bin),方便直接调用。pipx install。ruff, black, httpie, ansible 等,而不想让它们的依赖影响你的项目。uv addpyproject.toml 文件中。pyproject.toml 文件,将该包添加到 [project.dependencies] 或 [project.optional-dependencies] 下(取决于是否使用了 --optional 等参数)。poetry add 或 pdm add 或 npm install <package> --save。| 特性 | uv pip install |
uv tool install |
uv add |
|---|---|---|---|
| 主要目的 | 安装包到当前环境 | 安装命令行工具到隔离环境 | 安装包到当前环境并记录到 pyproject.toml |
| 目标环境 | 当前激活的 Python 环境 (通常是 venv) | 为每个工具创建独立的隔离环境 | 当前激活的 Python 环境 (通常是 venv) |
修改pyproject.toml? |
否 | 否 | 是 |
| 类比工具 | pip install |
pipx install |
poetry add, pdm add |
| 典型用例 | 安装项目依赖、临时安装包 | 安装全局可用的 Python CLI 工具 | 为项目添加新的、需要管理的依赖项 |
联系:
uv 的底层引擎进行快速的依赖解析和安装。uv pip install 和 uv add 都作用于当前的项目环境,但 uv add 额外承担了维护 pyproject.toml 的责任,更侧重于声明式依赖管理。uv pip install 更像是执行安装动作本身。uv tool install 则完全不同,它关注的是工具的安装和隔离,而非项目依赖。简单来说:
uv add 来管理你项目代码直接依赖的库。uv pip install -r requirements.txt 或 uv sync (如果使用 uv 管理依赖) 来根据配置文件安装项目依赖。uv tool install 来安装你希望全局使用的 Python 应用程序/工具。# 清理 uv 包管理器的缓存
uv cache prune
# 升级并同步所有依赖包到最新版本
uv sync --upgrade