[01:54:42] <lifeless> dstufft: openstack has a workaround, so there's no need to panic
[01:54:59] <lifeless> dstufft: (other folk may panic, I can't comment on that :))
[01:56:44] <dstufft> lifeless: luckily, I'm gonna be looped out on medication in the near future so my level of engagement is probably not going to be massive :D
[03:40:18] <Ivoz> does "import sysconfig; repr(sysconfig.get_config_var('Py_DEBUG'))" give something other that None on *nix pythons?
[03:42:27] <dstufft> StevenK: https://github.com/pypa/packaging/pull/58 should fix
[03:42:46] <jimbaker> good to see pip 8.0 out there. upgrading to it on jython master works except on windows. anyway, we will bundle 7.1.2 for our next release, and look at what we need to do next
[03:43:03] <jimbaker> probably helpful if we add jython to tox.ini for future testing
[03:46:03] <dstufft> jimbaker: cool, that doesn't touch anything we bendor in pip so that is nice when that works :)
[03:46:24] <jimbaker> dstufft, yeah, just want to get it in the next setuptools release
[03:47:04] <dstufft> jimbaker: that's a jaraco thing :) I think I techincally have commit bit through the nature of being an org admin, but I was never actually made a committer to setuptools :)
[03:47:09] <jimbaker> since stuff like installing yolk will now attempt to update to 19.4... and that will then break our patched 19.2
[03:47:37] <jimbaker> (i use yolk as a functional test of setuptools on windows)
[03:48:26] <jimbaker> dstufft, ack about ownership. anyway, we will get this converged. i think we will stick with our bundles for now, but obviously we want any user upgrades to be seamless
[03:54:42] <jimbaker> dstufft, yeah, so we plan to fix that in 2.7.2. it should be easy, although it will require users to run java 8. just a SMOP
[03:55:46] <dstufft> jimbaker: fwiw we don't currently have testing on Windows, so Jython on Windows is at a similar state to all other pip on Windows (except that I don't think any pip cores run Jython) but hopefully we'll get that in the future
[03:57:19] <dstufft> StevenK: Ok, now https://github.com/pypa/packaging/pull/58 should work
[03:57:59] <jimbaker> dstufft, sounds fine. it's possible windows on pip will then see the same issue, depending on how good a job we did in terms of saying the underlying os is windows
[03:58:13] <jimbaker> the problem is seen in upgrade specifically, in an unlink of old pip
[03:58:40] <jimbaker> so hey, we might have a fix sooner than later for this :)
[03:59:18] <StevenK> dstufft: Shell is wonderful! Travis just does evil things for its logging
[04:01:09] <dstufft> jimbaker: how compatible is Jython with regular pure python anyways? Is pip just (as usual) a weirdo or does it typically take knowing ahead of time you're going to be running on Jython to support it?
[04:04:42] <jimbaker> dstufft, i think we have fairly minor changes at this point
[04:04:53] <jimbaker> also your embrace of ssl has been a moving target for us
[04:05:33] <jimbaker> so we recently added SSLContext for example, which more or less is the same as the java equivalent. more or less, it took some work to make it so ;)
[04:05:45] <StevenK> dstufft: https://github.com/pypa/packaging/pull/50 is ready for you
[04:05:50] <jimbaker> next up is SNI, but that should be straightforward
[04:05:59] <Ivoz> is 3 lines if you count the semicolons!
[04:34:43] <jimbaker> dstufft, also i looked at that windows problem in more detail. although it fails with an unlink error, it looks like pip 8.0 does install on windows. so probably just a cleanup problem that is mostly harmless
[04:35:14] <jimbaker> still want to fix of course :)
[04:35:45] <dstufft> jimbaker: at some point I think we made cleanup more brute force
[04:35:52] <dstufft> not sure if that was in 7x 6x or 8x
[04:36:19] <dstufft> IIRC we basically turned a failing call to delete some temp files, into up to N calls to delete some temp files
[04:36:31] <dstufft> because when a thing fails, you just call it more times until it stops failing!
[11:02:16] <xafer> :-/ I didnt see they were on master
[12:27:17] <Ivoz> dstufft, thought of making a 7.1.3 with a check you're not on py32 before telling you a new vers is available?
[12:27:52] <dstufft> doesn't seem worth it, anyone currently on 7.1.2 would already be getting told to go to 8
[12:29:35] <Ivoz> farg that would've been a good idea
[14:15:18] <xafer> (and of course I saw that after writing the test ^^)
[14:22:22] <dstufft> xafer: thanks for getting that fixed :)
[14:23:48] <xafer> It was my mistake in the first place :)
[14:43:40] <xafer> dstufft: I forgot a changelog for the pip list --pre issue, should I add it to the 8.1 section or will you cherrypick it in master for a 8.0.1 ?
[14:57:24] <dstufft> xafer: I can handle it, I'll probably cherry-pick or cut a release of develop with the changelog adjusted
[14:57:28] <dstufft> either way, I cant ake care of it
[19:15:36] <lifeless> dhellmann: ok, commented on the bug
[19:20:12] <dstufft> just FYI I'm purposely ignoring thinking about the case that was supposed to break (thing installed with distutils where we don't have metadata, being uninstalled either locally to a virtual environment, or without a virutal environment at play) until I sort out the cases that weren't supposed to break, so I can more cleanly seperate who is affected by which
[19:34:31] <dstufft> testing interactions with the system doesn't work very well when I've tailored my existence to eliminate the system's influence on my Python
[19:35:08] <kostco> Fixing a vm is what drove me down the rabbit hole all the way to making a pr on pip.
[19:38:30] <lifeless> dstufft: yeah; perhaps we should have a separate bug ?
[19:46:03] <lifeless> dstufft: ok, what can I do to help with this firedrill ?
[19:47:56] <dstufft> lifeless: I'm thinking we should just no-op attempts to upgrade/install items that in in immutable locations (specifically the standard library right now), possibly with an error if someone attempts to do something crazy like pip install argparse<wahteverversionisinthestdlib
[19:48:13] <dstufft> the only reason a dependency on "argparse" is trying to do anything is becuase of recursive --upgrade
[19:52:09] <ErikRose> dstufft: Ha, nice Rackspace menu. :-)
[19:57:29] <lifeless> dstufft: I'd like to not cause installing existing packages to error
[19:57:35] <lifeless> dstufft: other than that it sounds reasonable
[20:00:33] <dstufft> lifeless: so it wouldn't break unless the dependency is essentially unsatisifiable with what is shipped in stdlib, which I think is a reasonable case to error on, because that is unsatisfiable
[20:12:43] <dstufft> Also: "pip 8.0.0 is already the 7th most used downloader" since the new stats daemon I wrote started recording data this last weekend.
[20:13:36] <lifeless> dstufft: base on develop or master?
[21:29:19] <jakobdm> hey guys :) are you planning to release 8.0.1 soonish? We freeze pip in a Windows binary and I'd like to avoid the PEP425 runtime warnings (#3383) in our next release
[22:39:25] <xafer> might be good to combine with dist_is_local check to avoid
[22:39:41] <xafer> "Not uninstalling argparse at /home/xfernandez/.virtualenvs/211dffcc587118e3/lib/python3.4/site-packages, is in the standard library."
[22:43:28] <lifeless> xafer: well, I wanted to emit that message - its new
[22:43:56] <lifeless> xafer: because we're going to have the argparse we installed shadowed by that, and this gives visual warning to folk that somthing is wrong
[22:44:07] <lifeless> xafer: without all the logic needed to really check it is going to be shadowed
[22:44:47] <xafer> well in this case, this path looks like the venv site-packages
[22:51:16] <xafer> And even if my initial reasons were bad I still think you should check the pip.script output, to make sure pip did the thing you expected
[22:55:06] <xafer> But it does indeed work as a stopgap :)
[23:45:33] <lifeless> dstufft: so, I'm thinking checking for sys.purelib
[23:45:43] <lifeless> dstufft: rather than stdlib_pkgs
[23:46:41] <dstufft> Once we get the things merged that removes the accidental spurious failures on stdlib and system-site-packages so that they are classified correctly, I'm going to go ahead and roll back the error to a warning.
[23:48:43] <dstufft> I'm not super happy about it since it's going to block other improvements I was hoping to make, but I'm going to go bother Debian and... I guess Fedora? to get them to force setuptools on everything.
[23:49:40] <lifeless> what improvements are blocked on that ?
[23:51:29] <dstufft> lifeless: Starting to refuse to shit all over files that are already existing on the filesystem willy-nilly and checking that we're not trampling over existing files
[23:51:56] <dstufft> which will make things like this https://github.com/pypa/pip/issues/3309 obvious errors
[23:52:01] <lifeless> dstufft: we can get some of that regardless
[23:52:26] <dstufft> well we can't because upgrading a distutils distribution relies on the fact we trample over files willy nilly
[23:52:28] <dstufft> it's the only reason it works
[23:52:52] <lifeless> dstufft: so, some strategies...
[23:53:11] <lifeless> dstufft: if no distutils distributions in the reqset, enable checking
[23:53:29] <lifeless> dstufft: enable checking, but warn rather than fatal if distutils in the set
[23:54:12] <lifeless> dstufft: enable checking, and degrade to warnings replacements of paths with a component matching the name
[23:54:34] <lifeless> dstufft: like, it is more complex, but I think we can get quite a lot of that benefit fairly early
[23:55:54] <dstufft> yea, we can get some of the way there, not the whole way there.
[23:56:03] <dstufft> https://github.com/pypa/pip/pull/3406 is this ready to land now, or are you still poking at it
[23:56:38] <lifeless> dstufft: well, lets talk for a second
[23:56:47] <lifeless> dstufft: on 2.7 3406 seems solid
[23:56:58] <lifeless> dstufft: on 3.4, at least on ubuntu, there is no egg-info metadata for argparse
[23:57:34] <lifeless> dstufft: so, pip install argparse will install the argparse distribution. And we have to have it do that, otherwise pkg_resources.require will error on argparse missing and break folk
[23:57:53] <lifeless> / trigger easy-install if we're not installing a wheel
[23:58:21] <lifeless> dstufft: so on 3.4, we'll actually have argparse installed, and then when the next upgrade to it happens, this code will mean we don't uninstall the old version properly.
[23:58:41] <lifeless> dstufft: I've just been pondering how to properly detect 'argparse from the stdlib is what we detected for conflicts_with'
[23:59:27] <Ivoz> has pkg_resources since fixed not being able to see argparse is 'installed'?