x-cmd pkg | uv - 用 Rust 开发的极其快速的 Python 包和项目管理器

目录

    • 简介
    • 快速上手
    • 功能特点
    • 竞品和相关项目
    • 进一步阅读

简介

uv 是由 astral-sh 用 Rust 编写的 python 包和项目管理器,能替代 pippip-toolspipxpoetrypyenvvirtualenv 等。它提供了全面的 Python 项目管理功能,能安装和管理不同版本的 Python,能管理 Python 项目环境,能下载并运行 Python 应用程序,且pip 要快 10 倍以上

x-cmd pkg | uv - 用 Rust 开发的极其快速的 Python 包和项目管理器_第1张图片

快速上手

  1. 安装并启动 uv:

    eval "$(curl https://get.x-cmd.com)"        # 安装 x-cmd
    x env use uv                                # 使用 x-cmd 安装 uv
    
  2. 快速搭建 python 项目环境:

    • uv python install:使用 uv 安装 python。如果你的系统上已经安装了 Python,则无需使用该命令安装 Python,uv 能检测并使用安装的 Python。
    • uv python list:查看可用的或已安装的 Python 版本。
    • uv init:初始化一个新项目。新项目的目录下会生成 pyproject.toml.python-version 文件。
    • uv venv:创建虚拟环境。虚拟环境的默认位置为当前目录的 .venv;与 pip 创建虚拟环境相比,uv 增加了 CACHEDIR.TAG 文件,以便在未来进行备份或归档操作时,不会将虚拟环境目录中的文件备份或归档。
    • uv add:下载依赖项并添加到项目中。相比于 pip installuv add 提供了更高层次的自动化,能自动管理虚拟环境和更新 .pyproject.toml 文件。
    • uv tree:查看项目的依赖关系树。相比于 pip listuv tree 提供了更详细的依赖关系信息,且能以树状结构展示。
    • uv remove:从项目中删除依赖项。相比于 pip uninstalluv remove 提供更智能的依赖管理,在卸载指定包后,还会检测并删除未使用的依赖项。
  3. 管理和运行 python 项目:

    • uv run:运行 python 项目或脚本。(在不显式激活虚拟环境的情况下)它能让你在项目的虚拟环境中执行任何命令或脚本。
    • uv pip:使用与 pip 兼容的接口管理 Python 包。uv pip提供了更简便、自动化的方式来管理依赖和虚拟环境,而原生的 pip 虽然更灵活但却需要开发者管理多个步骤。
    • uvx:运行 Python 包提供的命令。它是 uv tool run 的简写,能调用 Python 包中的实用工具,并且不会影响当前项目环境,类似于 pipx
    • uv export:将项目的锁文件导出为其他格式,如 requirements.txt

功能特点

  1. 功能全面:提供了与 pippip-toolspipxpoetrypyenvvirtualenv 等类似的命令,能满足大部分 Python 项目管理需求。
  2. 性能高效:性能比 pip 快 10 倍以上。
  3. 兼容性强:兼容 pippip-tools,能与现有的 Python 项目无缝集成。
  4. 社区活跃:由 astral-sh 维护,社区活跃,有大量的用户和贡献者。

竞品和相关项目

  1. pip:Python 的官方包管理器,功能全面,但性能较低,且需要开发者手动管理多个步骤。
  2. rye:全面且现代化的 Python 项目和包管理解决方案,整合了 python 版本管理、自动化依赖管理、python 包管理、自动化虚拟环境管理、项目初始化、python lint 等功能,适合中大型项目或团队使用。
  3. pip-tools:用于管理 Python 项目依赖的工具集,能帮助开发者生成、更新和锁定项目的依赖版本。
  4. pipx:专门用于下载和管理 python 应用程序的工具,能下载并运行各种 Python 应用程序,且不会污染系统或项目的环境。
  5. poetry:主要用于管理 python 项目依赖、打包和发布的工具,旨在简化依赖管理,同时提供一个统一的工作流来创建和分发 Python 包。
  6. pyenv:用于管理多个 Python 版本的工具。相较于 uvpyenv 最大的不同是以源码编译的方式安装 python。

进一步阅读

  • uv GitHub - uv 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 uv 和参与社区贡献。
  • uv 官网文档 - uv 的官方文档提供了详细的指南和参考,包括 uv 的基本概念、命令用法。
  • uv 选择的 python 版本 - uv 支持下载和安装 CPython 和 PyPy 发行版,其中 CPython 的发行版来源于 indygreg/python-build-standalone。

更多内容请查阅 : pkg/uv

转载请标明原文链接 :https://www.x-cmd.com/pkg/uv


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

你可能感兴趣的:(pkg,uv,rust,python,pip,命令行,pipx,pyenv)