我的碎碎念

不为繁华易匠心,不舍初心得始终。

0%

rye常用命令速查表

前言

几个月前在V2EX吐槽,我的python依赖包管理,从pip开始,为了方便,切换到pipenv,之后pipenv安装依赖有点问题,之后学习了poetry,但是peotry又出现了一些依赖问题,最后还是用回了pip。

之后看到有人回复推荐rye和uv,于是又继续学习了新的依赖包管理器。下面做了一个命令速查表,方便使用。

如何安装rye

windows可以从这里下载 https://rye.astral.sh/guide/installation/

macos和linux只需要输入下面命令即可:

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

下载安装完后,需要把rye主目录下的Shims路径添加进环境变量

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

如何设置代理

可以为rye设置代理:

1
2
rye config --set proxy.http=http://127.0.0.1:7890
rye config --set proxy.https=http://127.0.0.1:7890

如何取消代理:

1
2
rye config --unset proxy.http
rye config --unset proxy.https

如何启用uv

uv 是一款用 Rust 编写的,性能优秀的 Python 包安装和解析工具,被设计用于替代 pip 和 pip-tools。

1
rye config --set-bool behavior.use-uv=true

如何列出所有可用的 Python 版本

1
rye toolchain list --include-downloadable

如何初始化项目

1
rye init

如果需要特定版本的python,可以使用-p参数指定特定版本python

1
rye init -p cpython@3.11

PS:python3.11比之前版本的python的性能要好。

如果想创建一个脚本型项目,需要加上--script参数

1
rye init --script

如果想为你的脚本或web创建项目,可以加上--virtual参数。

1
rye init --virtual

虚拟项目是本身不是可安装的Python包的项目,但会同步它们的依赖项。它们像pyproject.toml中的普通python包一样声明,但它们不创建包。相反,tool.rye.virtual键设置为true

这也是我最常用初始化rye项目的方式。

如何初始化依赖

初始化项目后,可以使用rye sync指令初始化依赖,此时就会在当面目录下创建一个.venv文件夹:

1
rye sync

如何添加依赖包

使用rye add命令安装依赖包,例如安装django的命令:

1
rye add django

如何移除依赖包

使用rye remove命令移除依赖包:

1
rye remove django

如何运行rye项目中的的命令

使用rye run可以运行.venv中提供的脚本或应用程序,也可以运行Rye特定的脚本。

1
rye run django-admin

在不带参数的情况下打开它以查看所有可用的脚本,例如:

1
2
3
4
5
6
$ rye run
flask
hello
python
python3
python3.9

如何添加pypi镜像

使用rye config --show-path命令取得配置文件路径。用文本编辑器打开配置文件,并添加如下内容:

1
2
3
[[sources]]
name = "default"
url = "https://mirrors.aliyun.com/pypi/simple/"

此外,也可以在项目文件 pyproject.toml 中进行设置:

1
2
3
[[tool.rye.sources]]
name = "default"
url = "https://mirrors.aliyun.com/pypi/simple/"