跳到主要内容

1 篇博文 含有标签「Rye」

查看所有标签

Rye 是一个现代化的 Python 包管理工具,旨在简化 Python 项目的管理和构建流程。 它提供了更快的依赖解析和更简单的项目配置方式。 本文将带您了解如何使用 Rye 来管理您的 Python 项目。

在我们深入介绍安装和基本使用指南之前,重要的是让您了解Rye实际上是什么。 Rye是一个一站式工具。其理念是,作为Python开发人员,您需要了解的只有Rye, 因为Rye是您进入体验的起点。

作为Rye用户,您甚至不需要自己安装Python,因为Rye会替您完成这一切。 这意味着要使用Rye,您只需要安装Rye,其他工作由Rye自己完成。

一旦Rye安装在您的系统上,它可以为您自动安装Python解释器,可以指定版本, 从软件包索引安装软件包,管理虚拟环境并进行幕后管理等。

工具对比

工具优势劣势
Rye- 自动管理虚拟环境
- 依赖解析速度快
- 简化项目初始化和配置
- 相对较新
- 社区支持和生态系统尚未完全成熟
Pip- 简单
- 广泛支持
- 与 PyPI 的直接集成
- 缺乏内置的虚拟环境管理
Conda- 强大的环境管理
- 支持多语言
- 适合科学计算
- 较大的安装包
- 可能引入不必要的复杂性
Poetry- 强大的依赖管理
- 简化的项目配置
- 在大型项目中速度较慢
Pipenv- 自动管理虚拟环境
- 简化的依赖管理
- 速度较慢
- 与其他工具集成性较差

安装 Rye

Rye安装有一个优点,那就是:不需要提前安装Python环境。 不像pippipenvpoetry等工具,需要提前安装Python环境。

虽然Anaconda/MiniConda也不需要提前安装环境,有一些包做了优化加速(比如Numpy之类的), 但是Anaconda系列的包管理工具比较大,不适合所有场景。尤其是Anaconda有一个缺点就是: Anaconda不好升级,导致不能指定高于某个版本的Python环境。

当然Rye也有缺点,就是比较新,可能不像pip那样稳定和广泛支持。 但是Rye的一大好处就是可以严格管理Python依赖包的版本,并且可以将开发依赖和生产依赖分开。 脚本启动等功能,也是Rye的一大特色。(由于Rye是Rust编写,所以,可能是受到Rust的Cargo工具的启发,我猜是这样)

Linux/MacOS安装方式

curl -sSf https://rye.astral.sh/get | bash

Windows上安装Rye

安装连接

安装完成后,您可以通过运行 rye --version 来验证安装是否成功。

创建新项目

使用 Rye 创建新项目非常简单。使用init子命令即可,可以指定init更多的选项,比如指定Python版本等。

只需在命令行中运行以下命令:

rye init your_project_name
# 或
rye init your_project_name --py=3.11 # 指定 Python 版本
# 或
rye init your_project_name -p=3.11 # 简写,指定Python版本

这将创建一个名为 your_project_name 的新目录,并在其中初始化一个新的 Python 项目。

添加依赖

Rye 使得添加和管理项目依赖变得非常简单。要向项目添加依赖,可以使用以下命令:

rye add diffusers
# 或
rye add diffusers --dev # 添加开发依赖
# 或
rye add diffusers==0.30.0 # 指定版本
# 或
rye add "diffusers[torch]" # 指定依赖包的额外功能

这将把 diffusers 包添加到项目的依赖中,并自动更新项目的依赖文件。

移除依赖

如果您需要移除某个依赖,只需运行:

rye remove diffusers

这将从项目中移除 diffusers 包,并更新依赖文件。

管理虚拟环境

Rye 自动为每个项目创建和管理虚拟环境。 您无需手动激活或管理虚拟环境,Rye 会在需要时自动为您处理只要进入到创建的项目目录中,Rye会自动激活虚拟环境。可以执行python -V检查Python版本。

Rye虚拟环境

构建和发布

Rye 还提供了简单的构建和发布工具。要构建项目,可以使用:

rye build

构建完成后,您可以通过以下命令发布项目:

rye publish

确保您已配置好发布所需的凭据。

运行项目脚本

要运行脚本,需要做以下几步:

  1. 需要配置pyproject.toml文件中的scripts字段。
[project.scripts]
my-hello-script = 'hello:main'
  1. 创建脚本文件hello.py,并在其中定义main函数。
def main():
print("Run Rye main")
提示

这里需要注意,要把hello.py文件放在项目的根目录下的src的目录下。

  1. 运行项目脚本
rye run my-hello-script

这里的my-hello-script就是pyproject.toml文件中的scripts字段中的my-hello-script

在项目中使用Python直接运行脚本

由于进入了rye init创建的项目后,就会默认激活虚拟环境,所以,可以直接使用Python运行脚本。

比如,创建一个demo.py文件,内容如下:

def main():
print("Hello Rye")

运行方式:

python demo.py
提示

只要*.py放在项目根目录下,或者项目的其他目录下,都可以直接使用Python运行脚本。

Rye环境中使用python运行脚本

总结

Python 的包管理器一直都是一个痛点问题。Rye 是一个新的工具,它试图解决这个问题。

Rye 是一个强大的工具,为 Python 开发者提供了简洁高效的包管理体验。 通过简化依赖管理、自动化虚拟环境以及提供便捷的构建和发布功能, Rye 帮助开发者更专注于编写代码,而不是管理项目配置。

希望这篇指南能帮助您更好地使用 Rye 来管理您的 Python 项目!如果您有任何问题或建议,欢迎在评论区留言。

鱼雪