我有一个 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 中声明可选模块和可选脚本?