Closed
Description
For both the special case of on-the-command-line:
pip install foo foo[bar]
which will error with 'duplicate requirement'
and the general case of two references in the dependency graph:
pip install foo
where foo depends on bar and quux, and quux depends on bar[extra]
which will fail to install whatever is listed in bar[extra].
For all these cases we should:
- union the extras in the install requirement object
- recurse into the dependencies specified by the extra (which probably means recursing into everything due to pkg_resources api, but thats an implementation detail).