[16:45:12] <sigmavirus24> I hear it will be forward compatible with python 6000
[16:45:41] <msabramo> cool, I'm sure our ancestry will appreciate that
[17:02:00] <vgnbkr> Hi all. Don't know if this is the correct forum for this, but I just (inadvertently) got today's update to pip and there seems to be a problem. "pip install 'prettytable>0.7'" fails, even though the current version seems to be 0.7.2. How do I tell what version it thinks it is?
[17:12:10] <msabramo> pip install -v is typically useful for things like this
[17:14:05] <msabramo> hmm there is no message about why it didn't use 0.7.2 that I can see
[17:14:27] <msabramo> Found link https://pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.gz#md5=a6b80afeef286ce66733d54a0296b13b (from https://pypi.python.org/simple/prettytable/), version: 0.7.2
[17:14:27] <msabramo> Found link https://pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.zip#md5=0c1361104caff8b09f220748f9d69899 (from https://pypi.python.org/simple/prettytable/), version: 0.7.2
[17:16:16] <msabramo> me thinks the new versioning stuff broke the comparison of versions, specifically when you require '>a.b' and the newer package is 'a.b.c'
[17:20:57] <msabramo> dstufft: I think I get the reasoning; I wonder if this will create a lot of confusion though
[17:21:25] <msabramo> I guess usually people would put >= instead of > though
[17:21:52] <sigmavirus24> msabramo: in fairness, the existing behaviour always confused me. I think the new behaviour is a lot more explicit personally
[17:22:13] <sigmavirus24> (probably just me though)
[17:22:23] <msabramo> sigmavirus24: the confusing part of the old behavior for me was that if you said '<1.0', you still got '1.0a1'
[17:22:49] <msabramo> though I don't run into those pre-release versions very often
[17:28:45] <msabramo> maybe vgnbkr did pip install —upgrade something?
[17:28:56] <msabramo> I guess I should test whether that would do it
[17:29:26] <vgnbkr> I was running Trove's redstack script, but I think it might be the Openstack devstack script that actually did it. I'm surprised there aren't thousands screaming.
[17:29:35] <sigmavirus24> oh wait. 6.0 is officially out? I totally missed that
[17:29:51] <msabramo> bummed that my green PR didn't make it in for Christmas :)
[17:29:56] <sigmavirus24> vgnbkr: thousands screaming out in silence at the horror that is better versioning
[17:33:26] <vgnbkr> Unfortunately, I can't find a reference to prettytable, so it must be in a dependency.
[17:35:00] <msabramo> I'm a little worried that folks may come to me asking why they can't install stuff because of this; but OTOH my hope is that they are using '>=' not '>', so maybe it won't be much of an issue
[17:35:29] <msabramo> vgnbkr: ah, this is where pipdeptree would be useful
[17:35:50] <msabramo> that will help you find out who is requiring it
[17:39:21] <vgnbkr> msabramo, thanks, will check it out
[17:39:45] <sigmavirus24> msabramo: question: Were you able to reproduce vgnbkr's problems with the version number because in a tmp venv with setuptools 8.2.1 and pip 6.0.0 I can't
[17:39:59] <sigmavirus24> pip install 'prettytable>=0.7' installs 0.7.2 for me
[17:47:56] <dstufft> that specific rule ID on't think was
[17:48:05] <qwcode> dstufft, that bit was too hard for anyone to follow on a casual read. I see the argument about pre-releases, but still pondering this.
[17:50:27] <dstufft> qwcode: was it really hard to understand that bit? it's like 3 paragraphs and it seems to pretty clearly state that it won't match
[17:50:48] <qwcode> dstufft, hard to swallow that 0.7.2 is not > 0.7
[17:51:51] <sigmavirus24> qwcode: we agree that 0.7.2 > 0.7.0, right?
[17:52:07] <sigmavirus24> if we're doing a string match, yes
[17:52:26] <sigmavirus24> versions aren't just strings though
[17:52:43] <qwcode> dstufft, gotta run. will try to not to overract, and think it thru before saying anything more : )
[17:54:02] <dstufft> I don't think it's entirely intuitive for 0.7.1 > 0.7 to be false, but when I looked, almost nobody used > (they almost always used >=) so we chose this behavior for consistency with <
[17:54:12] <vgnbkr> sigmavirus24, re 0.7.0 - interesting point, but is 0.7 < 0.7.0?
[17:54:48] <sigmavirus24> vgnbkr: better question, is 0.7 == 0.7.0?
[17:56:16] <dstufft> and >0.7 not match 0.7.1 (that's the be consistent)
[17:56:23] <vgnbkr> As implemented in 6.0, it's probably more correct than before, just different enough that a warning would have been nice.
[17:56:39] <sigmavirus24> vgnbkr: a "Did you mean >0.7.0" kind of warning?
[17:57:49] <vgnbkr> More of a "WARNING: >7.0 behaviour will change in 6.1" type of thing.
[17:58:44] <vgnbkr> But, I realize that this is probably an unexpected consequence.
[18:03:43] <msabramo> perhaps a warning should be added for this case to pip 6.0.1?
[18:04:31] <msabramo> Warning: Found prettytable==0.7.2 but you specified prettytable>0.7 and the meaning of > has changed to that this doesn't include 0.7.X because of ...
[18:05:15] <msabramo> right now, I didn't even see anything in the output of `pip install -v`, which means it's really hard to figure out what's going on if you don't know the rules changed
[18:06:06] <msabramo> and I think a lot of people don't read the PEPs so they wouldn't know this was coming
[18:06:50] <msabramo> "Warning: Found prettytable==0.7.2 but you specified prettytable>0.7 and the meaning of > has changed to that this doesn't include 0.7.X because of … Maybe you meant to say prettytable>=0.7.2 (note the equals sign)"
[18:11:22] <vgnbkr> That would certainly have helped.
[18:12:21] <vgnbkr> Funny part is I found the offending script - it's trying to fix a pip 1.3 permissions bug and has a comment that says "remove when pip 1.4 is available everywhere" :-)
[19:26:56] <msabramo> vgnbkr: Do you think that this would've helped? https://github.com/pypa/pip/pull/2253
[19:52:05] <msabramo> awesome. py32 is the *first* build to succeed now
[19:52:13] <sigmavirus24> msabramo: just your luck ;)
[19:53:01] <msabramo> we should all use py32. new enough that you might use something that doesn't support it; but not *too* new in case you don't like the bleeding edge
[20:00:39] <vgnbkr> msabramo, Yes, that would have saved a bit of time and searching.
[20:01:25] <vgnbkr> To follow up, I see that the Openstack devstack team has a patch in flight to change ">" to ">=", so once that merges we'll be back on track.
[20:01:31] <vgnbkr> Thanks for the fast help, guys.