Python setup.py 中的负 extra_requires

Mik*_*maa 5 python egg pip easy-install setup.py

我想制作一个默认安装依赖项的 Python 包,除非用户特别表示他们不想要这样。

例子:

 pip install package[no-django]
Run Code Online (Sandbox Code Playgroud)

当前的 pip 和 setup.py 机制是否提供了执行此操作的方法或不需要extra_requires每次都明确?

Pyk*_*ler 2

我认为这是不可能的。解决这个问题的方法是执行正常的额外要求...其中

install_require=[
    # ...
    # no django listed here
],
extras_require={
    'django': ['django'],
}
Run Code Online (Sandbox Code Playgroud)

并在package[django]需要安装 django 的任何地方进行安装。