跳至内容

基础

要使用 Rye,您需要拥有一个基于 pyproject.toml 的 Python 项目。对于本指南,您可以使用 rye init 创建一个新的文件夹,其中包含一个新项目

rye init my-project
cd my-project

将创建以下结构

.
├── .git
├── .gitignore
├── .python-version
├── README.md
├── pyproject.toml
└── src
    └── my_project
        └── __init__.py

要知道的

init 命令接受许多选项来自定义它生成的內容。运行 rye init --help 以查看您安装的版本中可用的所有选项。

pyproject.toml 用于存储有关项目的元数据以及一些 Rye 配置。大多数 Rye 的命令都需要 pyproject.toml 才能正常工作。请注意,Rye 目前不支持基于 setup.py 的项目。请注意,当 Rye 初始化项目时,它还会写入一个 .python-version 文件。此文件包含应为此项目使用的 Python 版本号。可以通过运行 rye pin 来更改它。例如,要告诉 Rye 使用 Python 3.10

$ rye pin 3.10

首次同步

完成后,您可以使用 rye sync 获取第一次同步。之后,Rye 将在 .venv 中创建一个虚拟环境,并将锁定文件写入 requirements.lockrequirements-dev.lock

rye sync

Rye 管理的虚拟环境位于 pyproject.toml 旁边的 .venv 中。第一次运行时,您会注意到 Rye 会自动为您下载并安装兼容的 CPython 解释器。如果您在系统上已经安装了另一个 Python,它将不会被使用!有关此行为的更多信息,请阅读有关工具链的信息

您可以像往常一样激活它并使用它,但有一个显著的例外:其中的 Python 安装不包含 pip。如果您已正确安装了 Rye 并启用了 shims,在同步后,您可以运行 python,您将自动在该虚拟环境中操作,即使它没有启用。您可以通过打印出 sys.prefix 来验证这一点

python -c "import sys; print(sys.prefix)"

它将打印出已管理虚拟环境的完整路径。

添加依赖项

使用 add 命令向您的项目添加依赖项。

rye add "flask>=2.0"

然后使用 rye sync 将依赖项安装到虚拟环境中。如果您想从自定义索引添加包,您必须首先配置来源

列出依赖项

您可以调用 rye list 来获取项目所有已安装依赖项的转储。请注意,这只会列出实际安装的依赖项,因此请确保首先进行 sync

rye list

删除依赖项

使用 remove 命令从项目中再次删除依赖项。

rye remove flask

使用项目

要运行虚拟环境上下文中的可执行文件,您可以使用 run 命令。例如,要使用 black,请将其添加到项目中,同步虚拟环境,并像这样在当前目录上运行它

rye add black
rye sync
rye run black .

如果您希望直接使用这些命令,您将需要像往常一样激活虚拟环境。要激活虚拟环境,请使用标准方法

. .venv/bin/activate
.venv\Scripts\activate

要再次停用它,请运行 deactivate

deactivate

检查项目

rye show 命令可以打印出有关项目状态的信息。只需运行 rye show,您就可以看到使用了哪个 Python 版本、虚拟环境的位置等等。

rye show

可执行项目

要生成一个旨在提供可执行脚本的项目,请使用 rye init --script

rye init --script my-project
cd my-project

将创建以下结构

.
├── .git
├── .gitignore
├── .python-version
├── README.md
├── pyproject.toml
└── src
    └── my_project
        └── __init__.py
        └── __main__.py

pyproject.toml 将使用包含指向 __init__.pymain() 函数的 my-project 脚本的 [project.scripts] 部分生成。同步更改后,您可以使用 rye run my-project 运行该脚本。

rye sync
rye run my-project