虚拟项目
新功能 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 或其他索引。
局限性
虚拟项目不能具有可选依赖项。即使声明了这些依赖项,它们也不会被安装。
工作区
如果 工作区 没有顶级包,建议将其声明为虚拟项目。