pyproject.toml setuptools:如何指定可选脚本(和模块)?

MSc*_*Sco 5 python setuptools dependency-management pyproject.toml

我有一个 python 项目,其中包含一些模块、脚本和可选依赖项:

[project.optional-dependencies]
extra = [ "tqdm", "antspyx>=0.4.2", "scikit-image", "mpi4py", "scipy" ]

[project.scripts]
reg = "myproject._cmd.reg:main"
conv = "myproject._cmd.conv:main"

[tool.setuptools.packages.find]
where = ["src"]
include = ["myproject*"]
Run Code Online (Sandbox Code Playgroud)

现在我想安装脚本,仅适用于pip install myproject[extra]. 到目前为止,这些脚本甚至已安装pip install myproject

能够像这样分割我的模块也很好。中的模块src/myproject/extra/应仅针对pip install myproject[extra]. 如果被调用,则只应安装pip install myproject中的模块。src/myproject/modules/

那么,如何在 pyproject.toml 中声明可选模块和可选脚本?