跳到内容

虚拟项目

新功能 0.20.0

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

例如,如果您想使用 mkdocs 之类的程序而无需自行声明包,则此功能非常有用。

rye init --virtual
rye add mkdocs
rye sync
rye run mkdocs

这将创建一个 pyproject.toml,但实际上并未声明任何 Python 代码本身。但是,同步后,您的项目中将包含 mkdocs。

行为变更

同步时,项目本身永远不会安装到虚拟环境中,因为它不被视为有效包。同样,您无法将虚拟包发布到 PyPI 或其他索引。

局限性

虚拟项目不能具有可选依赖项。即使声明了这些依赖项,它们也不会被安装。

工作区

如果 工作区 没有顶级包,建议将其声明为虚拟项目。