[08:16:04] <ionelmc> anyone seen anything like this WindowsError: [Error 32] The process cannot access the file because it is being used by another process ?
[08:25:17] <ionelmc> another example, different project https://ci.appveyor.com/project/ionelmc/python-nameless/build/job/yel3rx80bavg2umj
[08:25:30] <ionelmc> i'm basically just running `pip install tox virtualenv`
[08:26:05] <ionelmc> i have open a support ticket here http://help.appveyor.com/discussions/problems/825-windowserror-error-32-the-process-cannot-access-the-file-because-it-is-being-used-by-another-process
[08:26:15] <ionelmc> don't they have some irc channel or something?
[08:26:33] <mgedmin> ionelmc, if you split that into two commands -- 'pip install tox', and 'pip install virtualenv', does anything change?
[08:26:58] <mgedmin> try to narrow it down: is it pip install of more-than-one package that fails? pip install of a particular package? pip install of any package?
[08:27:22] <mgedmin> if you have a windows system to test on, try to see if it fails there too, or if it's just appveyor
[08:27:47] <mgedmin> hm, *I* have a windows VM with jenkins etc., pip installs seem to work there -- but I haven't tried to pip install tox or virtualenv in a long time
[08:28:07] <mgedmin> might be a new bug introduced in a new pip, or it might be something specific to appveyor
[11:37:58] <ionelmc> `py` doesn't have a wheel so that's not the cause
[11:40:45] <mgedmin> race condition in pip itself? have you already eliminated antivirus scanners as a possible culprit?
[11:41:37] <ionelmc> i filled a support ticket about the AV thing, seems it takes time
[12:25:49] <ionelmc> dstufft: can you point me to the place in the pip code where that 'c:\\users\\appveyor\\appdata\\local\\temp\\pip-8i2cgi-record\\' dir is created ?
[12:26:35] <dstufft> I don't know where such a dir would be created
[12:53:20] <ionelmc> mgedmin: btw, have you seen this http://dev.depeuter.org/xptruss.php ?
[13:07:59] <pf_moore> btw, that directory is created in pip/req/req_install.py in install(): temp_location = tempfile.mkdtemp('-record', 'pip-') and removed in the finally block at the end of that function
[13:09:00] <pf_moore> I wonder if the subprocess call for setup.py is returning, but OS cleanup of the process is a tiny bit slow and the record file isn't closed in time.
[13:09:11] <pf_moore> Or it's a virus checker checking the newly created file...
[13:10:19] <pf_moore> Maybe we should make failure to remove the various temp directories we create non-fatal. Or maybe that would end up leaving huge amounts of clutter round. Dunno...
[13:11:19] <ionelmc> pf_moore: yeah, that could work but then it's silent failure treatment, which is bad
[13:13:09] <pf_moore> Agreed, which is why I don't really like it.
[13:13:45] <pf_moore> The big problem is that Unix doesn't have any of these failures (you can delete pretty much anything) so they never show up except on Windows...
[13:53:23] <dstufft> yea I don't use macports, but updating OpenSSL assuming that macports is linking against whatever openssl it ships (does it ship one?) should do the trick I think
[14:05:12] <gauravb7090> I'm upgrading all the packages side by side using macports to make sure that if something fails because of that it'll get corrected
[14:17:07] <pf_moore> ionelmc: There is, sort of, but AFAIK it's deferred till the next reboot and it's not exposed to Python (so we'd need some platform-specific code, probably involving ctypes, which is sort of icky)
[14:24:26] <pf_moore> And yet, I'm getting "Cannot fetch index base URL https://pypi.python.org/simple/" from a local pip command.
[14:24:30] <ionelmc> oh well, maybe they respond on twitter :) https://twitter.com/ionelmc/status/516593069660340224
[14:24:57] <pf_moore> dstufft: any reason why pip might not be able to find PyPI all of a sudden?
[14:25:15] <pf_moore> Worked on Friday... Could the upgrade have messed something up?
[14:25:30] <dstufft> pf_moore: lots of reasons! need a -vvv for more info
[14:25:58] <dstufft> gauravb7090: So your OpenSSL has sha2, but your Python doesn't see that fact, you might try recompiling python against openssl, maybe they added it recently
[14:26:38] <gauravb7090> dstufft:how should I do that? Can you please help?
[14:27:41] <dstufft> gauravb7090: I don't use macports, http://mac-os-forge.2317878.n4.nabble.com/How-do-I-recompile-one-port-td116559.html has some stuff though?
[14:27:43] <ionelmc> pf_moore: i know what to do!!!
[14:29:06] <pf_moore> But it looks like I'm running on a dev version of pip (must have patched virtualenv at some point) - let me retry with the release version too
[14:29:35] <dstufft> pf_moore: urllib3 might have broken on windows
[14:33:40] <pf_moore> dstufft: yeah, looks like it. release version is working. We should probably add appveyor testing to pip (long time since I checked if the tests succeed on Windows, though...)
[14:33:53] <pf_moore> OK, for now I'll switch back to the release version
[14:34:01] <dstufft> it's not like anyone actually uses Windows!
[14:36:20] <dstufft> pf_moore: I would not complain too much if everyone in the world used Windows for everything if it meant I never had to think about cross platform ever again
[14:37:56] <dstufft> pf_moore: not a windows problem!
[14:38:46] <pf_moore> Cool (well, not really, but...)
[14:41:52] <ionelmc> programming with javascript and html is like herding cats
[14:53:41] <gauravb7090> dstufft: hey I updated the openssl using the same but it still gives me the same output for python2 -c "import _hashlib; print(dir(_hashlib))"
[14:53:49] <gauravb7090> i.e. ['__doc__', '__file__', '__name__', '__package__', 'new', 'openssl_md5', 'openssl_sha1']
[14:53:57] <gauravb7090> still no support for sha2
[14:58:57] <pf_moore> dstufft: Ooh, cool. I never thought it'd be our code. Will look into it...
[14:59:54] <gauravb7090> can I not use an older version of pip? or something of that sort?
[15:00:17] <gauravb7090> I needed some packages like goslate etc
[15:01:25] <pf_moore> dstufft: bet it's backslashes...
[15:02:02] <pf_moore> dstufft: yep, easy fix then :-)
[15:02:24] <dstufft> gauravb7090: you can use pip 1.2 which didn't verify TLS certificates, or you can upgrade to the dev version which offers a flag to disable TLS verification
[15:02:55] <gauravb7090> how can I upgrade to the dev version?
[15:08:41] <dstufft> pf_moore: https://github.com/pypa/pip/pull/2074 should fix the ssl thing you were getting
[15:09:02] <dstufft> particularly the setup.py change
[15:12:57] <dstufft> pf_moore: Python lulls me into a false sense of security by making Windows accept the / slash sometimes, but not others :| (Or maybe that's Windows fault, i dunno!)
[15:13:55] <pf_moore> dstufft: re the fix, thanks, I'll see if I can give it a try, re backslashes, I know what you mean.
[15:14:31] <pf_moore> Just running the tests on Windows now. Lots of failures, who knows which ones matter. Some amusement for the next few days, I guess.
[15:14:51] <pf_moore> If I can get things in a sane state, I'll add appveyor testing to keep things good.
[15:17:12] <dstufft> pf_moore: does appveyor support github's commit status API (in particular, the multiple status support) and if so, does it also support the concept of "allowed failures"?
[15:17:59] <gauravb7090> dstufft: the git seems to get stuck at some point
[15:22:08] <pf_moore> dstufft: tbh, I don't know, that's more advanced than I've ever used. Would we not just skip tests using pytest skipif, if needed?
[15:24:08] <dstufft> pf_moore: well I specifically meant get appveyor running tests, but allow the whole build to fail so that people who don't have windows boxes can maybe start fixing some of the failing tests
[15:24:28] <dstufft> I'm hesitant to add skipif's, because in my experience they get added as a "temporary" thing, and then never get removed
[15:25:33] <Red_temp> I've been looking over the pypa/pip repo for this issue (I just hit it): https://mail.python.org/pipermail/distutils-sig/2013-August/022528.html and can't find it
[15:26:00] <Red_temp> would that be the right place to submit a bug?
[15:26:42] <pf_moore> dstufft: Ah, I see. Agreed regarding skipifs. At a pinch, we can probably just get appveyor set up to run the tests, but not report success/failure back at all. People can check the build page directly (not ideal, but a start)
[15:26:48] <pf_moore> Leave it with me and I'll see.
[15:27:47] <pf_moore> (BTW, I love the one skipped test in test_install. Makes the output go "FFs". Childish of me, I know :-))
[15:41:08] <tomprince> dstufft: Does github now display mulitple statuses?
[15:41:50] <dstufft> tomprince: yes-ish, it's opt in though
[17:05:28] <pf_moore> pff, that's a shame. I need to work out how to make appveyor do the same. I think I need a webhook setting in appveyor somehow, but I don't know how. Oh, well, off to the docs :-)
[17:41:37] <pf_moore> dstufft: actually, appveyor may be a non-starter for pip - I just ran the tests on Windows for 1 version of Python and they took 45 minutes. Appveyor limits jobs to 30 minutes each...
[17:41:59] <pf_moore> I have no view as to why the tests take under 5 minutes on travis compared to that 45 mins...