-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Install wheel with a non-PEP 440 version in the filename. #4384
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
Install wheel with a non-PEP 440 version in the filename. #4384
Conversation
PEP 427 has no specific requirements for the format of the version. As pip wheel allows to create a wheel with a non-PEP 440 version, it should also be able to install that same wheel.
e0cee6c to
8378567
Compare
|
PEP 440 was accepted after PEP 427. I would consider it implicit that wheels should only use standard format versions, and hence once PEP 440 was standardised, that would apply by default. I don't think this change is something we should support. If we need a clarifying statement in PEP 427 saying that the version should be a PEP 440 format version, then let's do that. What is the motivating use case for this change? |
|
@pfmoore the motivation is summarized in issue #4169 and can be sumed up as: So either we allow pip to install the wheels it just built (this current PR) or we make it error on Either way, I don't like it, that's why I decided to blindly follow the current specification. @vphilippon I'm sorry to have directed you on this issue as we might not merge it in the end... |
|
@xavfernandez Ah, OK. I didn't see the link to the original issue. My apologies. IMO, it's a minor point either way (and in fact, I'm not particularly concerned even about the ambiguity - I'd probably have just said "well, don't do that" on #4169). My biggest concern is that it's not I'm not going to block this going in, but I do think it should at least be considered as undocumented/not guaranteed behaviour. |
|
how about printing a warning on both creating and installing wrt the invalid version? |
|
@xavfernandez It's allright, it's not like I spent 4 week on this. Currently, wheels with a non-PEP 440 version will work, as long as the version starts with a digit So, if we go and actually refuse non-PEP 440 versions, I say we go all the way to be consistent, which is likely to break some people. That'd be a breaking change, for little gain IMO. For your concern about another tool tightening up, @pfmoore, I'd say we can add such new constraints once this happens, if it happens. The warning suggested by @RonnyPfannschmidt is a good idea. That might help users notice they are using non-PEP 440 versions by mistake (like having |
|
I think we should merge this, we still support non PEP 440 versions everywhere else so this is the odd ball out. If we want to talk about mandating PEP 440 that is something we can talk about, but I think that should be it's own dedicated issue and should handle all of our version handling, not just one place. |
|
Cool. With @xavfernandez and @dstufft in favour, I withdraw my objections. |
|
Thanks! |
Fixes #4169
PEP 427 has no specific requirements for the format of the version.
As pip wheel allows to create a wheel with a non-PEP 440 version, it should also be able to install that same wheel.