如何将 Python 模块与 extras 默认打包?

How to package a Python module with extras as default?

我的 Python 包有 optional features (extras_require),我希望默认选择它们。

更具体地说,我希望 pip install mypackage 表现得像 pip install mypackage[extra],并且我可以安装一个像 pip install mypackage[core].

这样的最小版本
setup(
    name="mypackage",
    ...
    extras_require={
        "extra":  ["extra1>=1.2", "extra2"],
        "core": [],
    }
)

是否可以使用与上述类似的设置脚本来实现此目的?

不幸的是,Python 打包元数据和工具的当前状态无法做到这一点。

请参阅 a long discussion here 了解原因。