📦 x-cmd pkg | rye - 全面的 Python 项目和包管理解决方案

274 阅读3分钟

rye.png

简介

rye 是由 astral-sh 用 Rust 编写的 Python 项目和包管理解决方案。它是一个全面且现代化的方案,整合了 python 版本管理、自动化依赖管理、python 包管理、自动化虚拟环境管理、项目初始化、python lint 等功能,适合中大型项目或团队使用。

ryeuvruff 的关系:它们都是 astral-sh 团队开发的现代 Python 开发工具。astral-sh 团队的设想是能发布一个“最终版”的 rye,它在底层调用 uvruff 等工具,并提供一个统一的界面来管理 Python 项目。(在必要时,rye 支持的 python 项目可以直接迁移到 uv 上)

ruff.cn.gif

快速上手

  1. 安装并启动 rye:

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

    • rye 全局安装的目录默认为用户主目录的 .rye 目录。
    • rye toolchain:用于下载和管理 python。rye 将不同版本的 python 定义为不同的 python 工具链,并以此管理它们。
    • rye init:初始化新的或现有的 Python 项目。相比于 uv initrye init 提供的是全方位的初始化,项目的目录结构更为规范化。
    • rye add:下载依赖项并添加到项目中。相比于 uv addrye add 采用的 lock 文件较为宽松,但更为通用,可移植性更好。
    • rye list:查看已下载的项目依赖项。相比于 uv treerye list 更为简洁,只列出依赖的包和版本号,类似于 pip list
    • rye remove:从项目中删除依赖项。
  3. 管理和运行 python 项目:

    • rye run:运行当前项目中 Python 包提供的命令。注意,该命令与 uv runuvx 的差异较大,不要混淆。 详情请参考 ryeuv 的官方文档。
    • rye tools install:在全局环境中安装 python 应用程序。安装位置为用户主目录的 .rye/tools 目录,相应的 shim 件位于用户主目录的 .rye/shims 目录下。
    • rye fmt/lint:检查或格式化项目中的 python 代码。
    • rye build:构建用于分发的包。
    • rye publish:将包发布到包仓库。

功能特点

  1. 内置 python 版本管理:能自动下载和管理多个版本的 python ,并能自动切换。
  2. 功能全面且上手简单:整合了 Python 项目开发流程中常用的功能,如依赖管理、虚拟环境管理、python lint 、测试、打包、发布等。
  3. 兼容性好:基于 pyproject.toml 管理项目,能与现有的 python 项目和工具无缝衔接。

竞品和相关项目

  1. ruff:由 Astral-sh 团队开发的现代化 Python 代码检查工具,特点是速度快、支持多种语言、支持多种框架。
  2. uv:由 Astral-sh 团队开发的现代化 Python 项目管理工具,速度快,能替代 pippip-toolspipxpoetrypyenvvirtualenv 等工具。
  3. poetry:由 python-poetry 团队开发的现代化 Python 项目依赖管理和打包工具,是当前最流行的 Python 项目管理工具之一。

进一步阅读

  • rye GitHub - rye 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 rye 和参与社区贡献。
  • rye 官网文档 - rye 的官方文档提供了详细的指南和参考,包括 rye 的基本概念、命令用法。




更多内容请查阅 : pkg/rye

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


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

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