3 min read

使用Rye管理Python环境和项目

使用Rye管理Python环境和项目
Photo by Evi Radauscher / Unsplash

Rye是Flask作者Armin Ronacher的新作品,用来管理Python项目及不同版本的Python环境。正如对Rye的介绍那样:

Rye is a one-stop-shop tool. The idea is that as a Python developer all you need to know is Rye, because Rye is your start into the experience. As a Rye user you do not even need to install Python yourself as Rye does this for you. This means to use Rye, you just need to install Rye, the rest is done by Rye itself.

Rye被设计Python世界中的一站式工具,包括环境管理,项目管理,打包构建项目等等。除此之外,用于打包Python项目的工具还有更现代化的PDM和更老牌的Poetry。可以阅读《Environment Tools: PDM, Poetry and Rye》了解他们之间的差异。

Rye虽然还在实验阶段,对于我自己进行一些个人开发来说,并没有什么影响。之前我使用PDM管理Python项目,现在决定切换到Rye。(因为Rye的文档很短,一下子就看完了,PDM的文档太丰富了。)

接管系统的Python环境和Python项目的环境

系统Python

安装Rye之后,将Shims添加到到系统$PATH环境变量中。Rye提供 pythonpython3两个可执行命令。可以通过which命令确认Python的解释器位置是否有Rye接管。

如果未被Rye接管,可以配置Rye的全局Shims

Rye接管系统Python的解释器之后,使用rye install代替pip instlall来安装一些通用的包。

项目Python

使用Rye管理的Python项目(rye init)也会在项目中使用venv,不同的是Rye配合上面提到的Shims,不用手动激活虚拟环境,只要工作目录在项目中(含有pyproject.toml的文件夹下)Rye就会自动将项目虚拟环境中的Python解释器作为默认而不是使用全局的解释器。

Python项目中的解释器为venv下的解释器
不在Python项目中的解释器为全局解释器