00280 uv 包管理器


前言

这是一个极其快速的Python包和项目管理工具,用Rust语言编写。

Operating System: Ubuntu 22.04.4 LTS

参考文档

  1. uv doc

Highlights

  • 🚀 一个工具,取代pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等等。
  • ⚡️ 比pip快10-100倍。
  • 🐍 安装和管理Python版本。
  • 🛠️ 运行和安装Python应用程序。
  • ❇️ 运行脚本,支持内联依赖元数据。
  • 🗂️ 提供全面的项目管理,具有通用锁文件。
  • 🔩 包括一个与pip兼容的接口,用于性能提升和熟悉的命令行界面。
  • 🏢 支持Cargo风格的工作区,用于可扩展项目。
  • 💾 磁盘空间高效,具有全局缓存,用于依赖去重。
  • ⏬ 通过curl或pip无需Rust或Python即可安装。
  • 🖥️ 支持macOS、Linux和Windows。

uv由Astral支持,Ruff的创造者。

安装

独立安装程序

使用我们的官方独立安装程序安装uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

如果您的系统没有curl,您可以使用wget:

wget -qO- https://astral.sh/uv/install.sh | sh

通过将其包含在URL中来请求特定版本:

curl -LsSf https://astral.sh/uv/0.5.27/install.sh | sh

pip

pip install uv

安装uv后,可以通过运行uv命令检查uv是否可用:

uv

您应该会看到一个列出可用命令的帮助菜单。

升级uv

当uv通过独立安装程序安装时,它可以按需更新自己:

uv self update

使用其他安装方法时,会禁用自更新。请改用包管理器的升级方法。例如,使用pip:

pip install --upgrade uv

卸载

如果您需要从系统中删除uv,请按照以下步骤操作:

  1. 清理存储的数据(可选):
uv cache clean
rm -r "$(uv python dir)"
rm -r "$(uv tool dir)"
  1. 删除uv和uvx二进制文件:
rm ~/.local/bin/uv ~/.local/bin/uvx

安装Python

要安装最新的Python版本:

uv python install

要安装特定的Python版本:

uv python install 3.12

重新安装Python

要重新安装uv管理的Python版本,请使用–reinstall,例如:

uv python install --reinstall

这将重新安装所有以前安装的Python版本。Python发行版不断添加改进,因此即使Python版本没有更改,重新安装也可以解决错误。

查看Python安装

要查看可用和安装的Python版本:

uv python list

Python环境

uv支持创建虚拟环境,例如在. venv创建虚拟环境:

uv venv

可以指定特定的名称或路径,例如,在my-name创建虚拟环境:

uv venv my-name

可以请求Python版本,例如,使用Python 3.11创建虚拟环境:

uv venv --python 3.11

使用默认虚拟环境名称时,uv会在后续调用期间自动查找和使用虚拟环境。

uv venv

# Install a package in the new virtual environment
uv pip install ruff

可以“激活”虚拟环境以使其包可用:

source .venv/bin/activate

要退出虚拟环境,请使用停用命令:

deactivate

管理包

要将软件包安装到虚拟环境中,例如Flask:

uv pip install flask

要安装启用了可选依赖项的包,例如带有“dotenv”附加项的Flask:

uv pip install "flask[dotenv]"

要安装多个软件包,例如Flask和Ruff:

uv pip install flask ruff

要安装具有约束的包,例如Ruff v0.2.0或更新版本:

uv pip install 'ruff>=0.2.0'

要在特定版本安装包,例如Ruff v0.3.0:

uv pip install 'ruff==0.3.0'

要从GitHub安装包:

uv pip install "git+https://github.com/astral-sh/ruff"

要从GitHub在特定参考处安装包:

# Install a tag
uv pip install "git+https://github.com/astral-sh/[email protected]"

# Install a commit
uv pip install "git+https://github.com/astral-sh/ruff@1fadefa67b26508cc59cf38e6130bde2243c929d"

# Install a branch
uv pip install "git+https://github.com/astral-sh/ruff@main"

无需重新安装可编辑的包即可激活对其源代码的更改。

将当前项目安装为可编辑包

uv pip install -e .

从requirements.txt文件安装:

uv pip install -r requirements.txt

要卸载软件包,例如Flask:

uv pip uninstall flask

要卸载多个软件包,例如Flask和Ruff:

uv pip uninstall flask ruff

检查环境

要列出环境中的所有包:

uv pip list

要以JSON格式列出包:

uv pip list --format json

要以requirements.txt格式列出环境中的所有包:

uv pip freeze

要显示有关已安装包的信息,例如numpy:

uv pip show numpy

可以一次检查多个包。


如果分多个步骤安装,则可以将具有冲突需求的软件包安装到环境中。

要检查环境中是否存在冲突或缺少依赖项:

uv pip check

结语

第二百八十篇博文写完,开心!!!!

今天,也是充满希望的一天。


文章作者: LuYF-Lemon-love
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuYF-Lemon-love !
  目录