简介
rye 是由 astral-sh 用 Rust 编写的 Python 项目和包管理解决方案。它是一个全面且现代化的方案,整合了 python 版本管理、自动化依赖管理、python 包管理、自动化虚拟环境管理、项目初始化、python lint 等功能,适合中大型项目或团队使用。
rye、uv 和 ruff 的关系:它们都是 astral-sh 团队开发的现代 Python 开发工具。astral-sh 团队的设想是能发布一个“最终版”的 rye,它在底层调用 uv、ruff 等工具,并提供一个统一的界面来管理 Python 项目。(在必要时,rye 支持的 python 项目可以直接迁移到 uv 上)
快速上手
-
安装并启动 rye:
eval "$(curl https://get.x-cmd.com)" # 安装 x-cmd x env use rye # 使用 x-cmd 安装 rye -
快速搭建 python 项目环境:
rye全局安装的目录默认为用户主目录的.rye目录。rye toolchain:用于下载和管理 python。rye将不同版本的 python 定义为不同的 python 工具链,并以此管理它们。rye init:初始化新的或现有的 Python 项目。相比于uv init,rye init提供的是全方位的初始化,项目的目录结构更为规范化。rye add:下载依赖项并添加到项目中。相比于uv add,rye add采用的 lock 文件较为宽松,但更为通用,可移植性更好。rye list:查看已下载的项目依赖项。相比于uv tree,rye list更为简洁,只列出依赖的包和版本号,类似于pip list。rye remove:从项目中删除依赖项。
-
管理和运行 python 项目:
功能特点
- 内置 python 版本管理:能自动下载和管理多个版本的 python ,并能自动切换。
- 功能全面且上手简单:整合了 Python 项目开发流程中常用的功能,如依赖管理、虚拟环境管理、python lint 、测试、打包、发布等。
- 兼容性好:基于 pyproject.toml 管理项目,能与现有的 python 项目和工具无缝衔接。
竞品和相关项目
- ruff:由 Astral-sh 团队开发的现代化 Python 代码检查工具,特点是速度快、支持多种语言、支持多种框架。
- uv:由 Astral-sh 团队开发的现代化 Python 项目管理工具,速度快,能替代
pip、pip-tools、pipx、poetry、pyenv、virtualenv等工具。 - 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 最新用法