-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
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
NumPy version written out incorrectly in egg-info filename #6257
Comments
Sigh. At some point the time will come where we have to switch to Besides the executable bit issue there's things like:
I don't want to keep spending mental effort on this nor stand in the way of progress, so I'm going to change my position on using EDIT: note that I'm far from the only skeptic, so it will need discussing on the mailing list in any case. |
@Eric89GXL I want to make it clear that I'm not asking/inviting you to volunteer for this (it's not going to be fun). Although of coarse you're free to do so. I'd much rather see you do cool signal processing stuff:) |
Hi Ralf,
|
Wow, you guys have been busy! I subscribe to distutils-sig a couple times per year but always unsubscribe quickly (for obvious reasons). This discussion is a good reason to re-subscribe once more.... |
Last time I checked that was contingent on someone also writing a brand new dependency solver: pypa/pip#59 (comment) (which I find quite unreasonable, but well...) |
AFAICT the consensus in that bug thread is:
|
That was a painful read. Good luck with that call (I'll watch it later but can't join)..... Some points that come to mind after reading the whole thing at once:
|
I admit that I'm then one of those passers-by. Note that the comment I linked to says "wait ..before releasing any shiny new commands...". On an issue that is about 2 new commands it clearly implies that they're both on hold, flawed logic or not. |
After looking at https://github.com/pypa/interoperability-peps I'm going to suggest that completely decoupling metadata (a minefield with lots of PEPs) from the build interface (currently zero PEPs) and writing a PEP only for the latter (which should just be fine) would be much more productive. |
Oh, I totally agree that that's what people have said in that bug thread,
|
And the problem with decoupling the build interface from metadata is that that's pretty much what the distutils delenda est PEP draft does, and the main blocker is that @dstufft says he's opposed to any new format for distributing sources that doesn't solve the static metadata problem. Maybe I'm not understanding what you have in mind as a "build interface". Anyway, discussion continues - I think we mostly are all learning things in that discussion still. |
Build interface: https://mail.python.org/pipermail/distutils-sig/2015-October/026991.html
I'm not sure about that. Even if you said absolutely nothing about metadata, you could get to a point where pip doesn't call its own vendored setuptools at all but has a clean way to invoke any build tool on current sdists on PyPi. It wouldn't solve every last issue we have with packaging but be an important step forward.
I just wanted to give my impression after reading the whole thing at once and not drag @dstufft in a discussion here. That part is still people misunderstanding each others language and use cases - a call will hopefully help. Oscar Benjamin explained it pretty well imho. Anyway, I'm subscribed to distutils-sig once again:) |
I haven't read the whole discussion on the upgrade thing, but I don't see any reason that FTR pip doesn't use a bundled copy of Currently the build interface is: executes Of course, the other problem is that pip won't ensure that your build time dependencies are installed (and it doesn't now even for Those are the smaller, more incremental changes we could make to the current system. Of course, we can also solve it by making a whole new format, but if we're going to do that I want to make sure it solves the other problems too. |
Thanks for the clarification @dstufft, that helps. Imho |
I should note, that I'm not the final word on pip, if Marcus is against it there might have to be some discussion, but I don't see any reason why it needs to be dependent. |
Yeah, I know. Before I even think about spending effort on that I'll summarize the plan on the relevant pip issue. |
Well, there's a reason I said "clean way":) Bento actually does implement part of the setuptools interface so But the implementation isn't pretty and it's not exactly easy to implement the whole thing as it works currently and there are far too many commands, so documenting the whole interface as is would be counterproductive. I think the basic commands could be (semi-)formalized, but others should go away or be renamed. The proposal of Daniel Holth seems like a good way forward here. |
Build-time dependencies are another issue indeed. Fixing that would not be a small step forward I'd think; it would be a major one. |
Issue in Should I leave this issue open and change the title to cover moving to setuptools, or close it since the original bug should now be fixed? |
Cool, thanks Eric! Let's close this, since this issue is quite specific. There is gh-6599 that has "move to setuptools" as one of the points on the list. Unfortunately the combined plan of moving also to |
NumPy prefers using
distutils
tosetuptools
for theinstall
step and thus creation of theegg-info
filename. This means that theegg-info
filename gets the+
in the version replaced with_
and written out asnumpy-1.11.0.dev0_2329eae.egg-info
, despite the fact that the version isnumpy-1.11.0.dev0+2329eae
.This causes a problem for satisfying requirements for other packages, since
setuptools
sees this as aLegacyVersion
(after replacing the_
with a-
in the filename), and thus you can get errors like this:One solution that might work is using
setuptools
for theinstall
step, becausesetuptools
creates the name with the+
in it and it thus gets parsed properly. However, given the lengths taken to triagedistutils
vssetuptools
in that step, I assume there is a reason whydistutils
is preferred. And it looks like back in 2013 this was addressed:scipy/scipy@a4e93fb#diff-2eeaed663bd0d25b7e608891384b7298L185
Maybe
setuptools
would be okay to use now...?Related
setuptools
ticket:https://bitbucket.org/pypa/setuptools/issues/419/setuptools-pkg_resources-fails-to-detect
Any ideas for how to solve this problem?
The text was updated successfully, but these errors were encountered: