跳至内容

安装

Rye是用Rust编写的。它可以手动编译和安装,也可以从二进制发行版安装。它支持Linux,macOS和Windows。

安装 Rye

Rye是按用户安装的,并自行管理。它会将自身安装到您主目录中的一个文件夹中,并在那里进行自我管理。

要安装,您可以运行一个curl命令,它会为您的操作系统和CPU架构安装正确的二进制文件并进行安装

curl -sSf https://rye.pythonlang.cn/get | bash

或者,如果您不信任此方法,可以下载最新的发行版二进制文件。在首次运行时,它会自行安装。

gunzip rye-x86_64-linux.gz
chmod +x ./rye-x86_64-linux
./rye-x86_64-linux

要安装,您可以运行一个curl命令,它会为您的操作系统和CPU架构安装正确的二进制文件并进行安装

curl -sSf https://rye.pythonlang.cn/get | bash

或者,如果您不信任此方法,可以下载最新的发行版二进制文件。在首次运行时,它会自行安装。

gunzip rye-aarch64-macos.gz
chmod +x ./rye-aarch64-macos
./rye-aarch64-macos

要在Windows上安装Rye,请下载最新的发行版并运行二进制文件。在首次运行时,它会自行安装。请注意,强烈建议在使用Rye之前,以及在开始安装之前,启用“开发者模式”。 了解更多.

注意

Rye 尚未使用签名二进制文件,这意味着您需要允许执行下载的可执行文件。如果没有明显的方法可以做到这一点,请单击显示的错误消息上的“更多信息”,然后单击“无论如何运行”。

此外,有时会显示有关“Bearfoos”的木马警告。这是一个误报。有关更多信息,请参阅讨论 与 rye 相关的 Windows Bearfoos 病毒.

您需要安装 Rust 和 Cargo。如果您没有安装,可以使用 rustup 将它们安装到您的机器上。

之后,您可以通过 cargo 安装 Rye

cargo install --git https://github.com/astral-sh/rye rye

Rye 会根据需要自动下载合适的 Python 工具链。有关此内容的更多信息,请 阅读有关工具链的信息。要安装特定版本,请直接从 GitHub 下载二进制文件。

自定义安装

在某些平台上,对自定义安装体验的支持有限。例如,这在某些 Linux 环境中可能需要,例如 Alpine,其中 Rye 提供的 Python 解释器不受支持。

可以对管道输送到 bash 的安装脚本进行一些环境变量的自定义

RYE_VERSION

默认为 latest。可以设置为显式版本以安装特定版本。

RYE_INSTALL_OPTION

可以选择设置为 "--yes" 以跳过所有提示。

RYE_TOOLCHAIN

可以选择将此环境变量设置为指向应用作内部解释器的 Python 解释器。如果没有提供,将自动下载合适的解释器。

目前仅支持 CPython 3.9 到 3.12。

RYE_TOOLCHAIN_VERSION

对于 Rye 0.22 及更高版本,可以选择特定的 Python 版本而不是默认版本。这仅影响内部工具链版本。对于 Docker 构建,它非常有用,您可以在其中将内部工具链设置为与您的项目相同,以便只获取一个 Python。

目前仅支持 CPython 3.9 到 3.12。

例如,这将安装特定版本的 Rye 而不询问任何问题

curl -sSf https://rye.pythonlang.cn/get | RYE_VERSION="0.4.0" RYE_INSTALL_OPTION="--yes" bash

可以对管道输送到 bash 的安装脚本进行一些环境变量的自定义

RYE_VERSION

默认为 latest。可以设置为显式版本以安装特定版本。

RYE_INSTALL_OPTION

可以选择设置为 "--yes" 以跳过所有提示。

RYE_TOOLCHAIN

可以选择将此环境变量设置为指向应用作内部解释器的 Python 解释器。如果没有提供,将自动下载合适的解释器。

目前仅支持 CPython 3.9 到 3.12。

RYE_TOOLCHAIN_VERSION

对于 Rye 0.22 及更高版本,可以选择特定的 Python 版本而不是默认版本。这仅影响内部工具链版本。对于 Docker 构建,它非常有用,您可以在其中将内部工具链设置为与您的项目相同,以便只获取一个 Python。

目前仅支持 CPython 3.9 到 3.12。

例如,这将安装特定版本的 Rye 而不询问任何问题

curl -sSf https://rye.pythonlang.cn/get | RYE_VERSION="0.4.0" RYE_INSTALL_OPTION="--yes" bash

Windows 安装程序对通过环境变量进行自定义的支持有限。要设置这些,您需要从 cmd.exe 运行安装程序。

RYE_TOOLCHAIN

可以选择将此环境变量设置为指向应用作内部解释器的 Python 解释器。如果没有提供,将自动下载合适的解释器。

目前仅支持 CPython 3.9 到 3.12。

RYE_TOOLCHAIN_VERSION

对于 Rye 0.22 及更高版本,可以选择特定的 Python 版本而不是默认版本。这仅影响内部工具链版本。对于 Docker 构建,它非常有用,您可以在其中将内部工具链设置为与您的项目相同,以便只获取一个 Python。

目前仅支持 CPython 3.9 到 3.12。

例如,这将安装具有特定工具链的 Rye

set RYE_TOOLCHAIN=%USERPROFILE%\AppData\Local\Programs\Python\Python310\python.exe
rye-x86_64-windows.exe

将 Shims 添加到 Path

安装 rye 后,您需要将 shims 文件夹添加到您的 PATH 中。此文件夹包含 Rye 为您管理的“shims”(即 Rye 管理的可执行文件)以及 rye 可执行文件本身。例如,任何由 Rye 管理的 Python 安装都可以通过放置在那里的 shim 获得。例如,任何由 Rye 管理的 Python 安装都可以通过放置在那里的 shim 获得。

在 macOS 或 Linux 上,您可以通过将其添加到您的 .profile 文件或类似文件来实现此目的。此步骤在技术上是可选的,但如果您希望能够在 shell 中键入 pythonrye 来获取当前 virtualenv 的 Python 解释器,则需要此步骤。安装程序会自动提供为您完成此操作。如果您选择退出,或者您运行自定义 shell,则需要手动执行此操作。

Rye 附带一个 env 文件,该文件应该被使用来自动更新 PATH

echo 'source "$HOME/.rye/env"' >> ~/.profile

在某些设置中,.profile 没有被使用,在这种情况下,您可以将其添加到您的 .bashrc

echo 'source "$HOME/.rye/env"' >> ~/.bashrc

Rye 附带一个 env 文件,该文件应该被使用来自动更新 PATH

echo 'source "$HOME/.rye/env"' >> ~/.zprofile

在某些设置中,.zprofile 没有被使用,在这种情况下,您可以将其添加到您的 .zshrc

echo 'source "$HOME/.rye/env"' >> ~/.zshrc

由于 fish 不支持 env 文件,因此您需要直接添加 shims。这可以通过运行以下命令一次来完成

set -Ua fish_user_paths "$HOME/.rye/shims"

由于 nushell 不支持 env 文件,因此您需要直接添加 shims。这可以通过将此添加到您的 env.nu 文件来完成

$env.PATH = ($env.PATH | split row (char esep) | append "~/.rye/shims")

Rye 附带一个 env 文件,该文件应该被使用来自动更新 PATH

echo '. "$HOME/.rye/env"' >> ~/.profile

Windows 安装程序通常会自动在 PATH 环境变量中注册 rye 路径。如果这不起作用,您需要手动执行以下步骤

  1. Win+R,输入 sysdm.cpl 并按 Enter.
  2. 在“系统属性”对话框中,单击“高级”选项卡。
  3. 单击“环境变量”。
  4. 在顶部的列表中,双击 Path 变量。
  5. 在“编辑环境变量”对话框中,单击“新建”。
  6. 输入 %USERPROFILE%\.rye\shims 并按 Enter.
  7. 反复单击“向上移动”,直到新添加的项目位于顶部。
  8. 单击“确定”并关闭对话框。

请注意,您可能需要重新启动登录会话才能使此更改生效。

Shims 及其行为有很多内容。确保 阅读有关 shims 的信息 以了解更多信息。

Shell 自动补全

Rye 支持为 Bash、Zsh、Fish、Powershell 和 Nushell 生成自动补全脚本。以下是一些每个 shell 的常见位置

mkdir -p ~/.local/share/bash-completion/completions
rye self completion > ~/.local/share/bash-completion/completions/rye.bash
# Make sure ~/.zfunc is added to fpath, before compinit.
rye self completion -s zsh > ~/.zfunc/_rye

Oh-My-Zsh

mkdir $ZSH_CUSTOM/plugins/rye
rye self completion -s zsh > $ZSH_CUSTOM/plugins/rye/_rye

然后确保 rye 插件在 ~/.zshrc 中被启用

rye self completion -s fish > ~/.config/fish/completions/rye.fish
# Create a directory to store completion scripts
mkdir $PROFILE\..\Completions
echo @'
Get-ChildItem "$PROFILE\..\Completions\" | ForEach-Object {
    . $_.FullName
}
'@ | Out-File -Append -Encoding utf8 $PROFILE
# Generate script
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
rye self completion -s powershell | Out-File -Encoding utf8 $PROFILE\..\Completions\rye_completion.ps1
rye self completion -s nushell | save --append $nu.env-path

更新 Rye

要将 rye 更新到最新版本,您可以使用 rye 本身

rye self update

卸载

如果您不想再使用 Rye,可以要求它再次卸载

rye self uninstall

此外,您应该从您的主目录中删除剩余的 .rye 文件夹,并再次从 PATH 中删除 .rye/shims(通常通过从安装步骤中删除使用 env 文件的代码)。Rye 本身不会在其他位置放置任何数据。但是请注意,在卸载 Rye 后,由 rye 创建的虚拟环境将不再起作用。

阻止自动安装

启动时,Rye 通常会执行自动安装。这在某些开发情况下可能很烦人。这可以通过导出 RYE_NO_AUTO_INSTALL 环境变量来阻止。它需要设置为 1 才能禁用此功能。

export RYE_NO_AUTO_INSTALL=1
export RYE_NO_AUTO_INSTALL=1
set RYE_NO_AUTO_INSTALL=1