Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PEP-0426 pip does not install all extras when special [all] extras is specified #4340

Closed
ssbarnea opened this issue Mar 16, 2017 · 6 comments
Labels
auto-locked Outdated issues that have been locked by automation

Comments

@ssbarnea
Copy link
Contributor

  • Pip version: 9.0.1

Description:

It seems that doing a pip install package[all] does not install all optional extras even if PEP-426 documents it as a wildcard option.

This is a serious limitation because at this moment it is impossible to tell pip to install all extras.

@pfmoore
Copy link
Member

pfmoore commented Mar 16, 2017

Note that PEP 426 is marked as "Draft". Until it's final, pip won't necessarily support features it specifies.

@ssbarnea
Copy link
Contributor Author

ssbarnea commented Mar 16, 2017

@pfmoore I know that is Draft but please note that it was raised back in 2012 and due to its complexity it was not marked as Final yet. I don't think that's a controversial one.

Considering that most browsers implement HTML5 while it was still draft, I can only hope pip would embrace this one. Also pip is a key element in promoting standardisation among package maintainers.

PS. Please note that his ticket was only about his feature, the entire pep is huge and it doesn't make sense to have such wide scopes.

Btw, it could be cool to have a project named PEP-0426 created under pip, so we could see how many tickets would be included in it.

@pfmoore
Copy link
Member

pfmoore commented Mar 16, 2017

Note that there are no funded development resources on pip, so everything is done on a volunteer basis. If you feel that implementing this feature is important, you might like to lobby your Python support vendor to fund development time on Python packaging to move work like this forward. Otherwise, it's likely that it will remain unimplemented until some volunteer gets the time and/or motivation to work on it.

By the way, you can of course install all extras, by listing them all individually. It's just that you need to look up what the extras are from the package dcumentation, and there's no abbreviated form.

Also, it's worth noting that the use of the extras notation in pip is almost completely undocumented - it's only mentioned by example in pip install. One of the reasons we're trying to get standards agreed is so that we avoid perpetuating the issues with undocumented, implementation-defined behaviour. But conceded, it's a slow process.

@ssbarnea
Copy link
Contributor Author

Thanks for the explanations. I was not expecting someone else to work on this, but I wanted to check if this was not there because nobody did it or because it was not desired (or possible, or...).

There is one thing I learn while contributing to open-source: before fixing something, be sure you are fixing the right thing. Doing this assures that your CR/PR would eventually not be wasted.

@xavfernandez
Copy link
Member

Plus I'm not sure we want to support a magical all extras.
Cf this thread https://mail.python.org/pipermail/distutils-sig/2017-March/030236.html

So until this is sorted out and in an accepted PEP, I'd recommend closing this issue.

@dstufft
Copy link
Member

dstufft commented Mar 18, 2017

I'm going to go ahead and close this issue. Once the PEP is landed we will implement/support whatever it has, until that point we're not going to, so this issue is not currently actionable.

@dstufft dstufft closed this as completed Mar 18, 2017
@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Jun 3, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Jun 3, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation
Projects
None yet
Development

No branches or pull requests

4 participants