PMXBOT Log file Viewer

Help | Karma | Search:

#pypa-dev logs for Friday the 16th of January, 2015

(Back to #pypa-dev overview) (Back to channel listing) (Animate logs)
[00:43:39] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[00:43:39] <pmxbot> Skip integration tests when SSL is broken. Ref #317.
[02:12:11] <pmxbot> jaraco pushed 5 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[02:12:11] <pmxbot> Have mock_install_dir actually yield the file name. Ref #317.
[02:12:11] <pmxbot> Just the path is expected
[02:12:11] <pmxbot> Remove unused import
[02:12:11] <pmxbot> Extract variables
[02:12:11] <pmxbot> Fix failing test by reverting to author's original intent. Ref #317
[12:02:55] <dstufft> ionelmc: pong
[12:59:47] <ionelmc> dstufft: can you explain why you did that module reloading? (the del from sys.modules)
[13:00:39] <dstufft> ionelmc: because I want an import in the "real" code (not in the site shim) to import from the global site packages, not our copied copy.
[13:01:18] <ionelmc> dstufft: yeah that i can see, what issues does that cause?
[13:03:50] <dstufft> ionelmc: well for instance if debian updates a patch in one of those files and it gets updated in the global site packages then the virtualenv will need recreated to get that bug fixed otherwise. With this patch it only needs updated if the bug effects virtualenv itself. In addition it also means that people using the import finder to locate those files will get the same file as import will. Finally it matches the behavior of the venv module
[13:03:50] <dstufft> better.
[13:04:10] <ionelmc> dstufft: i have found that builtins (and prolly C ext module too) have a reloading issues, they can't be reloaded
[13:04:48] <ionelmc> i'm using sys.builtin_module_names + few more stuff now
[13:05:02] <ionelmc> but i'm a bit wary of the whole thing
[13:06:31] <ionelmc> anyway
[13:06:59] <ionelmc> dstufft: take a looks at this https://github.com/pypa/pip/issues/2357
[13:07:15] <dstufft> ok, moment, writing an email to a lawyer
[13:08:29] <ionelmc> why do i have this feeling that will suck up lots of time :-)
[13:29:00] <dstufft> ionelmc: I think that's a bug with setuptools
[13:29:10] <ionelmc> ghaaa
[13:29:15] <ionelmc> it's grinding my gears
[15:28:33] <ionelmc> pf_moore: are you guys making a new pip release soon?
[15:29:18] <ionelmc> can you also include https://github.com/pypa/pip/pull/2318 then ?
[15:29:27] <pf_moore> ionelmc: not that I know of, maybe ask dstufft, he tends to do the releases
[15:30:12] <ionelmc> i think i'm gonna abduct dstufft and keep him in a basement till he closes all the pull requests :-)
[15:30:43] <pf_moore> lol - I see no reason not to merge that one, let me do a quick check then I'll do so
[15:32:57] <sigmavirus24> ionelmc: stupid question. Was "borken" intentional? If so, A+
[15:33:24] <ionelmc> sigmavirus24: everything i do is intentional
[15:33:31] <ionelmc> :-D
[15:33:35] <sigmavirus24> I approve sir
[15:42:51] <pf_moore> Sigh. Travis is ignoring me, won't run my builds
[16:23:25] <dstufft> the reason I didn't merge that was it was against master
[16:23:28] <dstufft> not against develop
[16:23:37] <pf_moore> dstufft - just seen that yeah.
[16:23:47] <dstufft> which is why I commented to make the PR against develop :D
[16:23:50] <pf_moore> ionelmc can you rebase against develop?
[16:24:49] <pf_moore> Ah, I read the bit about screwy travis errors and misunderstood what you were saying. My bad, sorry.
[16:26:04] <dstufft> pf_moore: I assume since you were raising issues with the progress bar code, it means you've ran the develop branch on windows since we merged the prettier progress bar code? everything work ok?
[16:32:48] <ionelmc> dstufft: you were very ambiguous, you didn't actually made any request to make it for develop
[16:50:12] <pf_moore> dstufft: No, this was just from the released version. But the bit of testing I did with the develop version seemed fine...
[16:50:34] <dstufft> pf_moore: oh right, I forgoet I backported that to the released version
[16:50:54] <dstufft> yea I did a limited amount of testing too on Windows 20something
[16:51:58] <pf_moore> You'd have never seen the issue anyway, it needs the buggy code plus an enhanced console that handles ANSI escapes including show/hide cursor
[16:52:43] <pf_moore> Between all the stuff that hacks ANSI escapes for Windows, I'm amazed they interact with each other as cleanly as they do...
[16:52:53] <dstufft> pf_moore: is there osme consoles we want to show/hide the cursor? is there some way to detect it?
[16:53:11] <dstufft> I turned off the hiding because googling said that windows didn't support it
[16:54:11] <pf_moore> Well, you could check for an environment variable ConEmuANSI = "ON". But if that's present you should probably just turn colorama off altogether.
[16:54:34] <pf_moore> Might be a source of more bugs we can't reproduce, though, rather than being a help...
[16:54:39] <dstufft> ok
[16:54:50] <dstufft> I mostly just google stuff for windows and try to guess the right answer heh
[16:55:14] <pf_moore> lol that's what all us Windows "experts" do as well - you found us out...
[16:55:31] <dstufft> did pip's progress bar work previous to 6.0 on Windows? I didn't think it would work at all on Windows... I was surprised when someone said it did work
[16:55:34] <dstufft> the 6.0 bar
[16:56:13] <pf_moore> tbh I can't remember :-( I don't think I noticed it...
[16:57:06] <pf_moore> Big problem these days is, the bar isn't shown if you get a download from cache. So I had to keep finding new things to download, or clear the cache...
[16:57:20] <dstufft> pf_moore: --no-cache-dir
[16:57:31] <dstufft> that'll turn off the cache for one invocation
[16:57:40] <pf_moore> Doh.
[16:57:53] <pf_moore> You've been stealing the time machine again
[16:57:56] <msabramo> was just going to mention --no-cache-dir
[16:58:03] <dstufft> easier then trying to find new things and better then blowing away your cache dir :D
[16:58:26] <pf_moore> ... no news there though
[16:58:50] <dstufft> heh
[16:58:53] <dstufft> I know that feeling
[16:59:09] <dstufft> pf_moore: the hide_cursor fix, is that a big deal? should I do a backport and release 6.0.7?
[17:09:20] <pf_moore> dstufft: No, it's going to affect so few people I wouldn't bother
[17:09:53] <pf_moore> I assume that if you do a 6.0.7 for any *other* reason it'll get added in, or are you not releasing from develop these days
[17:10:06] <pf_moore> Either way it's not worth worrying about though
[17:11:57] <ionelmc> dstufft: pong
[17:12:11] <ionelmc> enable circleci for virtualenv?
[17:12:33] <ionelmc> i'm gonna push the conf in the pr, it should pick it up
[17:13:32] <ionelmc> pf_moore: btw, green build on https://github.com/pypa/pip/pull/2360
[17:14:48] <dstufft> ionelmc: what does circleci get us
[17:15:02] <ionelmc> dstufft: different pythons, they use pyenv
[17:15:10] <dstufft> so does travis
[17:15:14] <pf_moore> ionelmc: Cool, merged
[17:15:23] <ionelmc> dstufft: not really
[17:15:28] <ionelmc> they behave differently
[17:15:47] <dstufft> I wrote the travis Python integration, it uses python-build from pyenv
[17:16:58] <ionelmc> dstufft: the installation paths are very different, that is valuable for me
[17:17:17] <ionelmc> plus they use the goddamn shims
[17:17:21] <ionelmc> travis doesn't
[17:17:53] <pf_moore> dstufft, ionelmc: if we're looking at extra ci fo virtualenv, would it be worth adding appveyor for Windows stuff?
[17:18:03] <dstufft> I already added appveyor
[17:18:09] <pf_moore> oh cool!
[17:18:13] <ionelmc> pf_moore: :-)
[17:18:20] <pf_moore> I really must take the rewrite for a test drive
[17:18:29] <pf_moore> That flipping time machine again
[17:19:05] <ionelmc> dstufft: well?
[17:19:05] <pf_moore> (I assume this is about the rewrite, tests in the original are a joke...)
[17:20:02] <ionelmc> pf_moore: this is the test matrix for travis https://travis-ci.org/ionelmc/virtualenv/builds/47264714
[17:21:22] <dstufft> ionelmc: you're going to need to be more specific about why we'd want circle ci. I don't think layering on extra CI services is in general a good idea unless the additional services add something, but I'm not sure what Circle CI is adding
[17:21:58] <ionelmc> dstufft: what do you mean layering? what's your real concern?
[17:23:18] <dstufft> adding more CI services means mroe places to look, more things to remember, more ways to restart the builds if one fails, etc. I added appveyor but I don't think that anyone but me can actually restart or cancel a build for instance. It complicates working with the project and sometimes complication is OK because it gets us something (like appveyor gets us Windows support), what does Circle CI get us?
[17:24:02] <dstufft> Honestly I don't even like the fact we have _two_ services now, and I'm talking to the Travis guys about if there's any way we get can windows into Travis so I can drop appveyor
[17:25:41] <ionelmc> dstufft: i found bug by running tests there, that did not reproduce on travis
[17:25:50] <ionelmc> that's pretty good enough for me to use it
[17:27:43] <ionelmc> eg: https://circleci.com/gh/ionelmc/virtualenv/16 and https://travis-ci.org/ionelmc/virtualenv/builds/46978125
[17:28:17] <ionelmc> there are a couple more cases like that but i don't really wanna manually search all the builds
[17:32:27] <dstufft> I'm looking at the test output now, it looks like circle CI isn't configured correctly or something, but more importantly, what were the bugs? Were they something that a generic test could be written that exposes them?
[17:33:04] <ionelmc> dstufft: search for `E AssertionError: Script returned code: 1`
[17:35:09] <dstufft> Ok, so given that it couldn't find something and you indicated something about the sims, I'm going to guess this is becuse the shims aren't directly executable and you need bash to execute them?
[17:36:15] <ionelmc> dstufft: 545bd62
[17:38:32] <ionelmc> going to guess? :-)
[17:38:35] <ionelmc> ok, whatever
[17:46:15] <dstufft> Honestly you're not really giving a clear picture of what's going on here and I don't have time today to decipher what the issue was and whether it's some one off things that it would be better to write tests for and run in the normal CI or if whatever setup Circle CI itself uses is one that is likely to need watched for regressions specific to it (such as Windows). Given that I don't think adding a second pyenv installed Python on an Ubuntu
[17:46:15] <dstufft> 12.04 box is likely a going end up showing unique regressions that aren't just bugs that can be fixed and tested for without more information to the contrary I'd rather not add more complexity to our CI
[17:51:07] <ionelmc> i gave you plenty of good arguments
[17:51:26] <ionelmc> it's not like you're going to personally pay for circleci (or maintaining the configuration)
[17:54:26] <dstufft> Sorry i went to make a sandwhich
[17:58:06] <dstufft> I assume anything that gets added to a repo will eventually end up being maintained by the maintainers of that repository. I assume at some point our support pythons will change, or the way we invoke our tests, or something which will cause the CI systems to need to be adjusted to deal with the change. Anytime a PR gets accepted I assume myself and the other maintainers are going to end up responsible for it. and that's OK, but it means that
[17:58:06] <dstufft> I want to understand what we're adding and why and I want to agree that the benefit outweighs
[17:59:19] <dstufft> I don't understand what kinda of problems were exposed on circleci (I don't even know if it was a single problem or a bunch of problems) and whether they were the kinds of things that you just write tests for or if they were the kinds of things you add more environments to your cI system for
[18:04:16] <dstufft> to be clear, I don't know if there's a good reason to add circle ci or not, there may very well be I want to understand that reason before we do that though
[18:06:10] <sigmavirus24> ==dstufft. Having more CI systems with basically identical environments run the tests doesn't seem like an overall win when people have to main those CI systems' configurations
[18:09:15] <ionelmc> sigmavirus24: they aren't identically technically, travis doesn't have the shims
[18:09:54] <sigmavirus24> ionelmc: what shims?
[18:10:06] <sigmavirus24> You keep saying this without explaining what you're talking about
[18:10:10] <ionelmc> sigmavirus24: pyenv shims
[18:10:23] <sigmavirus24> Can those shims be implemented in new travis tests instead of adding a whole new service + configuration?
[18:10:27] <ionelmc> https://github.com/yyuu/pyenv#understanding-shims
[18:10:46] <sigmavirus24> Oh so this can be fixed on travis without adding circle-ci
[18:11:06] <ionelmc> prolly not, it would be anywhere close to what you'd get from vanilla pyenv (what circleci has)
[18:11:22] <sigmavirus24> ionelmc: have you tried doing it on travis?
[18:11:31] <ionelmc> travis uses only a small part from pyenv (the builder)
[18:11:59] <ionelmc> sigmavirus24: would be a waste of time, when circleci has it already set up
[18:13:07] <sigmavirus24> ionelmc: more work upfront, less work down the road or less work up front, more work down the road is how I see this
[18:17:03] <pf_moore> ionelmc: from my POV, it's another test environment I'll end up needing to restart builds on
[18:17:44] <dstufft> I have a migraine, so I'm going to go lay down and pop some pain killers. I suggest the best path forward if you feel like a change to the CI is warranted is to post on pypa-dev so that everyone can comment on it. Or post an issue and highlight everyone. Either way I think it should probably be discussed in a wider audience than just whoever happened to be on IRC right now
[18:17:54] <dstufft> the pypa-dev mailing list that is
[18:20:54] <willingc> dstufft: take care of the migraine :) PM when you are feeling better.
[18:23:36] <pf_moore> Agreed. We're not going to get CI for every quirky setup that people can think of (sorry if a Windows user calling pyenv "quirky" seems offensive ;-)) so we should only add them when they hit a big currently-uncovered chunk of our userbase. And maybe not even then.
[19:23:31] <herrwolfe> dstufft: do you have a moment to talk about PR 2138 (warning about missing extras)?
[20:38:16] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[20:38:16] <pmxbot> Renamed .get_writer to .best and removed boolean argument.
[21:40:56] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[21:40:56] <pmxbot> Bumped to 12.0 in preparation for next release.
[21:40:56] <pmxbot> Added tag 12.0 for changeset 55666947c9eb
[21:40:56] <pmxbot> Bumped to 12.1 in preparation for next release.
[21:47:15] <dstufft> jaraco: ping
[21:47:26] <jaraco> pong dstufft
[21:48:14] <dstufft> jaraco: incase you didn't see, there's a COPR repo (Fedora 19+, RHEL/CentOS 6+) for PyPA now, if you want to manage uploading new setuptools releases to it I can give you perms, if you want me to do it I can do that too :)
[21:48:19] <dstufft> herrwolfe: um, sure
[21:49:50] <jaraco> dstufft, I'm not familiar with COPR.
[21:49:53] <jaraco> Let me read a bit.
[21:50:12] <dstufft> jaraco: it's just a thing that makes it possible to easily have project specific yum repos
[21:50:45] <herrwolfe> dstufft: I remember you telling me that you aren't super familiar with that section of the codebase. Currently, if a user wants to installs several extras, like twisted[a, b, c] and a doesn't exist, it looks like b and c would never be tried
[21:50:49] <jaraco> aah. Can a Windows box push setuptools releases to PyPA:COPR?
[21:51:13] <dstufft> essentially just these steps need completed -> https://github.com/pypa/copr/blob/master/UPDATING.md (although maybe they aren't complete, the guy who wrote them packages rpm so he might be forgetting something that's just "automatic")
[21:51:27] <dstufft> jaraco: doubtful, probably you need a fedora box to generate the .src.rpm
[21:51:51] <dstufft> (I don't have one of those, I'm just going to spin up a throw away cloud fedora box)
[21:51:56] <herrwolfe> dstufft: would you prefer if I wrote the warning to be shown for each missing option?
[21:53:28] <dstufft> herrwolfe: you know I saw somewhere that we might be flat out erroring on an invallid extra in certain circmumstances, so we might be able to just do it as a flat out error, but if it stays a warning it should probably log a warning for all the misssing ones, whether that's one warning that lists all of the missing ones or a warning per I don't have a strong preference
[21:53:37] <jaraco> dstufft: I'd like to keep the setuptools release process portable. Perhaps the release script could trigger a post-release hook in another system that would do the COPR build.
[21:54:48] <dstufft> jaraco: eventually I'm going to have some automation for all of this, my goal is to make it so doing a release is basically ``git tag -s 1.0.0 && git push --tags`` so that's certainly a possible thing
[21:55:18] <dstufft> I'm focusing on pip originally for that automation but once I have it I want to apply it to virtualenv, and if you want it, setuptools too
[21:55:26] <herrwolfe> dstufft: ok I'll try to write it so that it logs a warning for all missing extras, and still proceed with the install for those that it can. Thanks :)
[21:56:38] <dstufft> pf_moore: is there something like SSH for Windows that I can execute commands on a Windows box from a Python script? (ideally a python script running on Linux)
[22:00:00] <jaraco> dstufft, I believe ansible uses Powershell remoting to mechanically invoke behavior.
[22:03:27] <pf_moore> dstufft yeah, winrm (powershell remoting) is the thing to use, I believe.
[22:03:50] <pf_moore> Needs some setup on the target box, it's not enabled by default, but easy enough
[22:04:06] <pf_moore> https://pypi.python.org/pypi/pywinrm
[22:05:47] <dstufft> excellent
[22:05:49] <dstufft> thanks!
[22:07:38] <jaraco> !m pf_moore
[22:07:38] <pmxbot> you're doing good work, pf_moore!
[22:12:50] <dstufft> jaraco: lol setuptools 12.0 broke openstack
[22:12:55] <dstufft> figuring out what
[22:12:59] <jaraco> :(
[22:13:09] <sigmavirus24> why is openstack so fragile?
[22:13:24] <jaraco> !blame reasonableness
[22:13:24] <pmxbot> I blame reasonableness for everything! it's your fault! it's all your fault!!
[22:13:25] <dstufft> jaraco: http://logs.openstack.org/89/142689/8/gate/gate-tempest-dsvm-large-ops/c437c9d//logs/devstacklog.txt.gz#_2015-01-16_22_05_01_778
[22:13:41] <sigmavirus24> sys_executable
[22:14:06] <sigmavirus24> jaraco: bingo
[22:14:30] <jaraco> I can bring sys_executable back.
[22:14:40] <jaraco> With only a bit of sadness.
[22:15:18] <dstufft> jaraco: let me see if they'd want that
[22:16:41] <dstufft> jaraco: [17:14:30] <fungi> dstufft: having it back for long enough to figure out what we should call instead of easy_install.sys_executable() would be helpful, yes
[22:17:26] <jaraco> it may not be worth the trouble.
[22:17:29] <jaraco> sys_executable = os.environ.get('__PYVENV_LAUNCHER__',
[22:17:29] <jaraco> os.path.normpath(sys.executable))
[22:17:45] <jaraco> It's an alias for a stdlib-derived value.
[22:18:29] <jaraco> That is, if it's easier to fix pbr/openstack and saves an iteration on setuptools, that'd be better.
[22:18:33] <jaraco> I'm happy to do what's best.
[22:18:45] <jaraco> dstufft: is that conversation on freenode?
[22:19:05] <dstufft> jaraco: #openstack-infra
[22:21:53] <sigmavirus24> dhellmann: is also here
[22:22:27] <dstufft> yea so is a few other folks, lifeless and mordred and jeblair and a few others heh, there's some cross over ;)
[22:22:49] <dstufft> openstack integrates closer to setuptools and does more things than most, so they got broken easier
[22:26:46] <dhellmann> jaraco: it's hard to tell what's part of the official API for setuptools and what's not :-/
[22:27:13] <dhellmann> jaraco: it might be quicker to fix this in pbr, but we may not be the only project that was using that value
[22:28:05] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[22:28:05] <pmxbot> Restore setuptools.command.easy_install.sys_executable for pbr compatibility.
[22:28:12] <dhellmann> I mean quicker in terms of fixing openstack's CI, that is
[22:28:15] <dhellmann> oh, cool :-)
[22:28:39] <sigmavirus24> I didn't think /any/ of setuptools' command submodules were part of the API
[22:28:57] <sigmavirus24> Or rather, I never expect any command a library provides to be part of the PAI
[22:29:14] <dhellmann> sigmavirus24: I don't know?
[22:29:22] <sigmavirus24> I don't either to be honest
[22:29:40] <sigmavirus24> OpenStack also imports things from pip which just seems like a bad idea but I don't know a better way to accomplish what they're goal is
[22:29:48] <dhellmann> do we?
[22:29:50] <jaraco> dhellmann, You're right. Much of the API is implicit... and I'm willing to accept breakage, compensating with a rapid response to emergent issues.
[22:30:02] <sigmavirus24> dhellmann: not pbr. Some of the openstack/requirements script does
[22:30:16] <sigmavirus24> *update script
[22:30:21] <dhellmann> jaraco: the problem is, every time the openstack CI breaks 500-800 developers can't do anything :-/
[22:30:58] <dhellmann> I should resurrect that patch to add some integration tests to setuptools. I saw you commented on it recently.
[22:31:21] <jaraco> hmm. 2/4 of the integration tests are passing.
[22:31:29] <dhellmann> sigmavirus24: oh, well, that's not production stuff so if it breaks I think the hit isn't too bad
[22:32:05] <dhellmann> jaraco: it looks like this failure was with the fixtures package, though I don't know if that does anything "special"
[22:34:38] <dstufft> dhellmann: on the other hand, if those 500-800 developers wanted to make sure they could do things more often their companies could commit resources to helping us out :D
[22:38:51] <dstufft> (I say that not to be a jerk, just recogizing the reality that we're severely undermanned for how many critical pieces we work on, and I'm more or less the only person who gets paid to work on these tools which means that we have to make choices that optimize our available time, some of that is moving faster and trying to respond to breakage rather than trying to outright prevent it in all cases)
[22:39:57] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[22:39:57] <pmxbot> Bumped to 12.0.1 in preparation for next release.
[22:39:57] <pmxbot> Added tag 12.0.1 for changeset 747018b2e35a
[22:39:57] <pmxbot> Bumped to 12.0.2 in preparation for next release.
[22:59:00] <mordred> dstufft: noted ... I'll see what I can do about getting some resources