PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Thursday the 3rd of April, 2014

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[05:47:45] <glyph> Pip is way too hard to configure to cache things.
[05:48:23] <dstufft> glyph: what kind of cache
[05:48:42] <Alex_Gaynor> glyph: http://bpaste.net/show/197014/ is all you need I think?
[05:49:00] <glyph> Alex_Gaynor: that's... not nothing
[05:49:07] <glyph> I'm kind of playing with the new user experience here
[05:49:14] <Alex_Gaynor> glyph: I mean, more than I'd prefer, but not bad, all said and done
[05:49:17] <glyph> trying to configure things as little as possible
[05:49:29] <glyph> basically I expect that 'pip wheel foo; pip install foo' will not download foo
[05:49:34] <Alex_Gaynor> +1
[05:49:38] <glyph> how much of that config do I need before it stops trying to?
[05:49:45] <dstufft> http://bpaste.net/show/hig1RFAxk701uQWJTayu/
[05:49:50] <dstufft> that's 1.5
[05:50:08] <dstufft> you can omit the download cache too if you want
[05:50:09] <glyph> dstufft: why do I need both wheel-dir and find-links? doesn't wheel-dir sort of imply find-links? also isn't there a *default* wheel-dir?
[05:50:34] <dstufft> the default wheeldir is ./wheelhouse
[05:50:51] <glyph> aha
[05:50:55] <glyph> dstufft: what you _actually_ need is
[05:51:10] <glyph> PIP_FIND_LINKS=/srv/web/wheelhouse pip install
[05:51:14] <glyph> oops
[05:51:31] <glyph> '-f wheelhouse'
[05:51:34] <glyph> that does it
[05:51:50] <dstufft> assuming you're always in the same curdir
[05:52:02] <dstufft> most people want a global wheel cache
[05:52:14] <Alex_Gaynor> ++
[05:52:17] <glyph> dstufft: right so you should fix your crappy software so it has one of those
[05:52:25] <dstufft> it's on the list
[05:52:28] <Alex_Gaynor> lol
[05:52:32] <dstufft> as well as a lot of other crappy things
[05:52:34] <glyph> dstufft: but until then, sometimes I ssh into a server and need to do stuff and I don't want to write a pip.conf, I just want to remember the right command line ;)
[05:52:34] <Alex_Gaynor> what's the issue #, I'd like to subscribe
[05:53:05] <glyph> dstufft: also I'm going to give a talk at pycon where I berate you all and mostly I just want to berate you accurately ;-)
[05:53:25] <dstufft> https://github.com/pypa/pip/issues/878 is the issue and https://github.com/pypa/pip/pull/1572 is a WIP implemenation
[05:53:50] <Alex_Gaynor> more flags :/
[05:54:16] <dstufft> yay flags
[05:54:29] <dstufft> probably it'll end up being on by default eventually
[05:54:36] <glyph> dstufft: can we have an issue for that now pl
[05:54:37] <glyph> z
[05:55:05] <dstufft> sure, just hit the new issue button :)
[05:57:23] <glyph> dstufft: aauaghh but I'm in IRC and it's way over theeere
[05:57:48] <glyph> Alex_Gaynor: I can't 'pip wheel twisted' in a pypy virtualenv!?
[05:58:02] <Alex_Gaynor> glyph: can't you?
[05:58:07] <glyph> twisted/runner/portmap.c:10:20: fatal error: Python.h: No such file or directory
[05:58:10] <glyph> shouldn't cpyext do that?
[05:58:18] <dstufft> install pypy-dev
[05:58:22] <glyph> dstufft: augh
[05:58:24] <glyph> dstufft: thanks.
[05:58:25] <Alex_Gaynor> real talk.
[05:58:31] <Alex_Gaynor> glyph: now you know why I want to delete this shit
[05:59:39] <glyph> Alex_Gaynor: oh hey look https://twistedmatrix.com/trac/ticket/6831 is in review
[05:59:44] <glyph> looks like I just got some motivation to go do that
[05:59:57] <dstufft> I have some ideas for a pip 2.0 proposal that overhauls' the ux
[06:00:57] <Alex_Gaynor> glyph: I left some ocmments, doesn't look like anyone has followed up
[06:01:46] <dstufft> ahhh
[06:01:46] <dstufft> no
[06:03:55] <glyph> Alex_Gaynor: yeah looks like we still don't have cffi on the builders?
[06:04:15] <Alex_Gaynor> glyph: Sounds like you have a thing to do, I can review a PR for the builders repo.
[06:04:22] <glyph> Alex_Gaynor: oh jeez and I can't update them because I have an email that has some encrypted credentials I need to install except they're encrypted to my GPG key except my GPG key is on a different computer
[06:04:34] <Alex_Gaynor> glyph: ~~computer~~
[06:04:46] <glyph> Alex_Gaynor: I think that might need a lot more tildes
[06:04:48] <glyph> and a whiskey or two
[06:05:14] <Alex_Gaynor> glyph: That's so computer.
[06:05:48] <glyph> OKAY pypy-dev totally set up
[06:06:03] <glyph> I should be putting this into a fabric file, I am _already_ regretting not recording these steps programatically
[06:06:32] <Alex_Gaynor> Dockerfile!
[06:06:43] <dstufft> I commented on that ticket
[06:06:50] <glyph> Alex_Gaynor: cyli has now been fighting with getting coreos working under vagrant for 3x as long as I've been fighting with this
[06:06:57] <glyph> Alex_Gaynor: and I'm basically done now
[06:07:04] <Alex_Gaynor> glyph: you can docker without coreos
[06:07:14] <Alex_Gaynor> glyph: also, yous aid teh word vagrant, so you automatically lose
[06:07:22] <Alex_Gaynor> vagrant is nothing, if not a pain device
[06:07:34] <dstufft> vagrant has never caused me significant pain
[06:07:57] <Alex_Gaynor> "That's so computer"
[06:08:06] <glyph> "it works on my machine"
[06:08:16] <glyph> that should be the pip logo
[06:08:20] <glyph> just "it works on my machine" in a circle
[06:08:44] <glyph> _finally_
[06:08:44] <glyph> Successfully installed Twisted TxSNI cffi cryptography pyOpenSSL pycparser six wheel zope.interface
[06:08:46] <dstufft> glyph: I don't even claim pip works on my machine
[06:09:00] <glyph> dstufft: okay that's going _right_ on twitter
[06:10:51] <dstufft> I hope we're trending towards works at least, or something vaguely resembling works :/
[06:11:34] <Alex_Gaynor> dstufft: btw, are we good to do OS X wheels on PyPI?
[06:11:53] <dstufft> which we is this talking about
[06:12:23] <Alex_Gaynor> dstufft: cryptography, can we upoad OS X wheels, and are we likely to hit issues with them?
[06:13:47] <glyph> dstufft: your comment on that twisted ticket is appreciated, but could you phrase it slightly more constructively?
[06:13:59] <glyph> dstufft: in other words, "here's what you do to avoid the implicit compile in your setup.py"
[06:14:35] <dstufft> Alex_Gaynor: so technically you can upload them, likely to hit issues is hard to predict. Probably the biggest thing is going to be the fact you have system Python, Python.org Python, Homebrew Python, MacPorts Python, and pyenv Python
[06:14:56] <Alex_Gaynor> dstufft: sounds like doing so would be bad mojo
[06:14:57] <dstufft> I don't have a good indicator for how much problem that'll be in practice
[06:15:07] <dstufft> binary stuff is still a lot of voodoo to me
[06:15:23] <dstufft> I haven't heard any major complaints, which means either people aren't doing it, or it's working
[06:15:33] <dstufft> glyph: yea I can
[06:21:32] <glyph> dstufft: thanks even more, then :)
[06:30:44] <Ivoz> qwcode: yeah, py27->py2 by default for pure packages slipped in quietly thanks to pf_moore :)
[06:31:21] <Ivoz> we discussed it on ml but I wasnt sure if a decision had been made about it
[06:36:36] <dstufft> glyph: sufficiently more useful now? ;)
[06:37:47] <Alex_Gaynor> dstufft: bummers ahoy :/
[06:38:24] <dstufft> My brain has become a catalog of failure modes for all things packaging
[06:38:25] <glyph> dstufft: ueez
[06:41:14] <dstufft> glyph: sorry my original thing was more ranty than useful. Sometimes the brain pain leaks out :)
[06:54:06] <glyph> dstufft: understandable. thanks for the enhanced version.
[06:54:23] <glyph> dstufft: have you considered making a 'shenanigans' package that just contains what cryptography is doing to deal with all these workarounds?
[06:54:29] <glyph> oh also
[06:54:35] <glyph> how do you square the setup_requires/import-in-setup circle
[06:55:13] <dstufft> glyph: https://github.com/pyca/cryptography/blob/master/setup.py#L57-L100
[06:55:22] <dstufft> glyph: I hadn't thought about it, it's not a terrible idea though
[06:55:40] <dstufft> until cffi builder stuff happens distributing cffi is very error prone :/
[06:55:43] <glyph> dstufft: because as I was reading your post, I got the distinct feeling that I don't want to do those things
[06:56:02] <glyph> dstufft: oh also, I told the tahoe folks something which I'm sure is going to get you in trouble
[06:56:23] <glyph> dstufft: can you use the ctypes cffi backend to cheat at runtime and not do compilation if the user doesn't have a C compiler and also doesn't have binary packages?
[06:56:32] <Alex_Gaynor> dstufft: maybe we should just contribute to cffi 1.0 instead of developing so many workarounds :/
[06:56:44] <glyph> Alex_Gaynor dstufft: yes, please
[06:57:16] <dstufft> glyph: I don't know if you can do that or not, I guess you can in some cases, I doubt it works in every case though
[06:57:50] <glyph> dstufft: if you have really exciting things going on in your verify section I would imagine not
[06:58:00] <dstufft> yea like https://github.com/pyca/cryptography/blob/master/cryptography/hazmat/primitives/padding.py#L31-L67
[06:58:13] <glyph> oh... right, you can do that.
[06:58:14] <glyph> well.
[06:58:23] <glyph> I guess it would only work if your library has no macros anyway.
[06:59:53] <dstufft> Alex_Gaynor: I don't have enough time or motivation to tackle fixing those things upstream right now :( It's quicker in the moment to just tell folks about the work arounds. I think it would be far better to actually get those things fixed upstream though
[07:00:06] <dstufft> they fixed the .so loading bug though, that was good
[07:00:33] <glyph> spin out workarounds into a separate package so that package can go upstraem
[07:00:45] <glyph> and other people can depend on them while waiting for your motivation :)
[07:01:16] <dstufft> I finally got around to making a nice little cookiecutter thing so I can bootstrap new projects pretty quickly at least
[07:01:33] <glyph> dstufft: oh and thanks for contributing on the tahoe bug
[07:01:47] <dstufft> glyph: :]
[07:01:55] <dstufft> I hang out in #tahoe-lafs
[07:02:05] <dstufft> I help them fix packaging stuff
[07:02:18] <dstufft> where help means I tell them how terrible everything is and maybe provide insight into making things work more
[07:04:23] <dstufft> oh I can delete https://github.com/pyca/pynacl/blob/master/src/nacl/_cffi_fix.py now
[07:05:14] <dstufft> glyph: Alex_Gaynor tomorrow i'll at least file bugs with cffi for all the gotchas I'm aware of
[07:40:44] <Ivoz> dstufft: whats tahoe?
[15:47:53] <e0d> Are wheel questions fair game here?
[15:49:54] <pf_moore> e0d: Sure
[15:51:00] <e0d> I'm building a set of wheels for our custom packages and depends that I would like to subsequently install using something like: pip install --use-wheel --no-index --find-links=https://wheelhouse.example.com/ pyramid
[15:52:01] <e0d> Not working so far, what is pip expecting to find there to resolve the links.
[15:52:57] <pf_moore> care to define "not working"? :-)
[15:53:29] <e0d> Sure, not resolving packages.
[15:54:06] <pf_moore> and https://wheelhouse.example.com/ returns a page containing links to archives?
[15:54:56] <e0d> yes.
[15:55:40] <pf_moore> as far as I know that's all you need. Not really a wheel question as such, this should be basic pip finder functionality.
[15:55:56] <pf_moore> I've never used https myself in find-links
[15:56:55] <pf_moore> Might be worth trying plain http just to see if that works (although you may hit fun with the new --allow-insecure stuff then, so that may just open a whole other can of worms :-()
[15:57:01] <e0d> I expect this is an issue with the way I'm building the links.
[15:57:39] <e0d> They currently look like, say, <a href="amqp-1.0.13-py27-none-any.whl">amqp-1.0.13-py27-none-any.whl</a>
[15:58:00] <e0d> Worth trying to know the root cause at least
[15:58:12] <pf_moore> Looks like I'd expect. And clicking on that link in a browser downloads the file?
[15:58:30] <e0d> yes.
[15:59:19] <pf_moore> It *might* be related to the new security stuff, but I know next to nothing about that - dstufft may be able to comment if he's around
[16:00:10] <dstufft> uhh
[16:01:07] <dstufft> plain http should work, but is inadvisible, nothing else should be affecting that though. you might try doing ./ampq-.....whl instead of just ampq-....whl
[16:01:22] <dstufft> do you have any metatags on the html?
[16:01:45] <dstufft> also can you show me the output of pip install?
[16:03:05] <e0d> Allow insecure doesn't help.
[16:03:07] <e0d> pip install --use-wheel --no-index --allow-insecure --find-links=https://s3.amazonaws.com/edx-wheel-test/index.html amqp
[16:03:07] <e0d> Ignoring indexes: https://pypi.python.org/simple/
[16:03:07] <e0d> Downloading/unpacking amqp
[16:03:07] <e0d> Could not find any downloads that satisfy the requirement amqp
[16:03:07] <e0d> Cleaning up...
[16:03:07] <e0d> No distributions at all found for amqp
[16:03:53] <dstufft> e0d: so
[16:04:08] <dstufft> if I go to https://s3.amazonaws.com/edx-wheel-test/index.html I see an index where it links ampq
[16:04:23] <dstufft> but if I click on the ampq link I get a access denied
[16:04:45] <dstufft> ah I see, I need to add index.html
[16:04:47] <e0d> really.
[16:04:57] <dstufft> you probably want to turn on static site hosting in your s3 bucket
[16:05:07] <dstufft> so that index.html gets served atuomtically for /
[16:05:47] <e0d> ah, it's on for the bucket, but doesn't seem to have propogated.
[16:06:43] <e0d> That's helpful, let me see how far that gets me. I was suspicious of the index doc format, but sounds like that looks OK.
[16:06:58] <dstufft> also you're using --find-links
[16:07:06] <dstufft> which expects a flat file
[16:07:13] <dstufft> e.g. direct links all on one index.html
[16:07:36] <e0d> Right.
[16:08:06] <dstufft> if you're going to duplicate the PyPI scheme of BASEPATH, BASEPATH/project/ where BASEPATH has links to the BASEPATH/project/ urls, and BASEPATH/project/ has links to the file, you'll want to use --index-url instead of --no-index --find-links
[16:08:07] <e0d> but I assume it doesn't look for index.html by default if the server doesn't serve a default index doc.
[16:08:45] <dstufft> for --find-links it's going to go to exatly the url you gave it, and look on that page for links that point to filenames that look downloadable
[16:09:14] <dstufft> for --index-url it's going to go to the url you specify + /thingyouwanttoinstall/ and if that 404's it'll fall back to look at the url you specify
[16:10:19] <dstufft> http://www.pip-installer.org/en/latest/reference/pip_install.html#finding-packages has two links that describes the --index-url API
[16:10:38] <dstufft> but you can just make one big index.html that links directly to files and just point to that with ---find-links too
[16:10:52] <dstufft> also you can see exactly what urls pip is trying out by adding -vvv to your command
[16:11:25] <e0d> dstufft: Thanks, very helpful, let me see if I can get this going.
[16:18:11] <JoeHazzers> pip seems to be struggling with our proxy
[16:18:14] <JoeHazzers> for some reason
[16:18:34] <JoeHazzers> `curl --proxy1.0 <proxy> https://pypi.python.org/` works fine
[16:18:48] <JoeHazzers> but pip with the `--proxy <proxy>` argument gets a 403
[17:07:21] <e0d> Some progress on the wheels in s3, this works:
[17:07:21] <e0d> pip install --use-wheel --no-index --allow-insecure --find-links=http://edx-wheel-test.s3-website-us-east-1.amazonaws.com watchdog-0.7.1-py2-none-any.whl
[17:08:29] <e0d> Sub-optimal though, because I cannot do watchdog==0.7.1 or even watchdog.
[17:09:49] <tomprince> What version of pip?
[17:10:03] <e0d> I suppose moving to PyPi format will fix this, but would be nice to be able to do it from a single index.
[17:10:12] <tomprince> I think there was a bug in 1.4 about parsing versions of wheel files.
[17:10:53] <e0d> ah, I'm on 1.4, upgrading.
[17:17:56] <dstufft> --allow-insecure shouldn't be needed
[18:22:33] <e0d> dstufft: removing --allow-insecure and everything works:
[18:22:33] <e0d> pip install --use-wheel --no-index --find-links=http://edx-wheel-test.s3-website-us-east-1.amazonaws.com scipy==0.11
[18:22:56] <e0d> Thanks for the help.
[21:15:39] <barry> dstufft: any chance you're around?
[21:15:52] <dstufft> yessir
[21:16:04] <barry> dstufft: do you have some time to chat about ensurepip and debian? ;)
[21:16:14] <dstufft> sure
[21:16:36] <dstufft> if it's useful to do it in debian-python i'm there too
[21:16:41] <dstufft> wherever is fine with me
[21:16:41] <dstufft> :]
[21:16:58] <barry> naw, once i figure out what's going on and have a plan, we can take it there
[21:17:02] <dstufft> ok
[21:17:09] <barry> so the main thing is i want pyvenv to not crash :)
[21:17:23] <jezdez> time for taking that to #pypa-dev?
[21:17:58] <barry> your call. but let me know before i typepuke :)
[21:18:13] <barry> since we're here...
[21:18:17] <dstufft> if jezdez wants it in pypa-dev that's fine with me
[21:18:18] <jezdez> heh, typepuke
[21:18:45] <jezdez> dstufft: yeah, I'd rather be able to read the backlog without eyebleed
[21:18:52] <jezdez> thanks guys :)
[21:20:05] <barry> so first, we're currently building python 3.4 --without-ensurepip
[21:20:17] <barry> and i think once that's done, pyvenv is doomed
[21:20:59] <dstufft> No, pyvenv works fine if you use --without-ensurepip
[21:21:01] <jezdez> oy
[21:21:14] <barry> oh, he also removes /usr/lib/pythonX.Y/ensurepip
[21:21:20] <barry> but i took that out :)
[21:21:45] <dstufft> then you're fine :]
[21:22:09] <barry> yeah, except when i create a venv with pyvenv-3.4 /tmp/gg i don't get any pip scripts in /tmp/gg/bin
[21:22:11] <jezdez> barry: dstufft: please move the discussion of the development of a pypa tool into #pypa-dev as we're trying to have separate user and development channels
[21:22:24] <jezdez> thank you for understanding :)
[21:22:28] <barry> jezdez: please don't make me cry
[21:22:46] <jezdez> excuse me?
[21:22:57] <barry> sorry, nm. continuing
[21:24:13] <barry> dstufft: *but* /tmp/gg/local/bin gets pips and easy_installs
[21:24:44] <tomprince> jezdez: This is about a user of the tool ...
[21:25:12] <barry> and yet, when i build py34 from source and install that into /usr/local, and then run *its* pyvenv, i get pip and easy_install all living in /tmp/gg/bin right along side python3 as expected
[21:25:31] <jezdez> tomprince: this discussion discusses development topics that aren't interesting for end users
[21:25:42] <jezdez> I'm not sure why barry is ignoreing me
[21:25:43] <barry> dstufft: so that confuses me and i haven't quite been able to trace my way through all the layers to figure out why this is happening
[21:25:46] <dstufft> barry: I bet this is because of Debian's patches to Python :[
[21:25:51] <dstufft> the /usr/local/ stuff
[21:26:22] <barry> dstufft: maybe, but i'm not atm been able to find a patch that changes pyvenv's behavior here
[21:26:24] <tomprince> freebsd's pypy packages suffers from the same thing (with virtualenv)
[21:26:42] <dstufft> it wouldn't be pyvenv, it would be pip's behavior.
[21:26:43] <tomprince> barry: It isn't pyvenv's behavior, it is the normal python behavior.
[21:27:08] <barry> right, but if no system pip is installed, won't pyvenv use the bundled pip wheel?
[21:27:41] <tomprince> debian change the paths where python thinks stuff should be installed relative to its prefix.
[21:27:51] <tomprince> That applies inside or ouside of a venv.
[21:28:44] <tomprince> Outside of a venv, prefix=/usr and scripts are installed in /usr/local/bin. In a venv, prefix=<venv dir> and scripts are installed in <venv dir>/local/bin
[21:29:56] <barry> not with `virtualenv -p python3.4 /whatever`
[21:30:08] <barry> ^^ *that* installs pip into /whatever/bin not /whatever/local/bin
[21:32:05] <barry> let me ask this slightly differently then. pip uses which variables to decide where to install things?
[21:32:36] <barry> (and i suppose installing into /whatever/local/bin wouldn't be so bad if activate added that path to $PATH)
[21:32:36] <dstufft> it depends
[21:32:48] <dstufft> virtualenv and ensurepip use slightly different behaviors
[21:32:49] <barry> which it doesn't so `pip3: not found`
[21:32:53] <dstufft> I'm looking into it
[21:32:53] <tomprince> https://github.com/pypa/virtualenv/blob/develop/virtualenv.py#L1521 might be relevant?
[21:36:18] <barry> tomprince: yes, that indeed might be relevant
[21:36:19] <tomprince> I'm not sure how pyvenv works, but I suspect that https://github.com/pypa/virtualenv/blob/develop/virtualenv_embedded/site.py may have been adjusted to deal with debians patches but pyvenv not.
[21:36:39] <dstufft> barry: is this live somewhere I can poke at
[21:37:19] <barry> dstufft: my package changes are not. are you able to build debian/ubuntu packages? if not, i can put some .debs up somewhere
[21:37:54] <barry> maybe i should just hack the activate script to include $root/local/bin and be done with it. :/
[21:38:03] <dstufft> barry: theoretically I have in the past built debian packages
[21:38:10] <dstufft> but I'd have to google a lot to remember how
[21:38:27] <dstufft> but if you can throw up some .deb and tell me which OS I need I can take a poke
[21:38:34] <dstufft> something is certainly not right
[21:38:35] <barry> dstufft: sure, just a sec
[21:41:05] <barry> dstufft: if you trust who i am: http://barry.warsaw.us/dstufft.tgz
[21:41:20] <barry> wget that, unpack it and you'll have .debs that should be installable on ubuntu 14.04
[21:42:40] <tomprince> barry: If you run the pip in local/bin, where does it install things?
[21:42:54] <dstufft> lemme go boot an ubuntu box
[21:42:57] <dstufft> ~to the cloud~
[21:44:02] <barry> tomprince: /whatever/lib/python3.4/site-packages... i.e. *not* .../local
[21:44:34] <dstufft> ok I lied I'm booting 13.10, I'll upgrade it to 14.04 :D
[21:45:35] <barry> cool. dstufft one small hitch i'm afraid. i'm a bad person and i started this conversation before realizing i have to leave in 15m :( i'll be back later tonight and tomorrow. can we perhaps continue again then? (in #pypa-dev i promise)
[21:46:19] <dstufft> barry: yea that's fine too, tonight infusion night for Alyssa (my daughter) so my time is limited and distracted too until that's done :) though atm i'm waiting for her to get ready
[21:47:08] <barry> dstufft: thanks. good luck! i'll ping you tomorrow morning-ish (i'm utc-4)
[21:47:21] <dstufft> I think that's about the same for me
[21:47:23] <dstufft> Eastern!
[21:47:27] <barry> \o/
[21:47:33] <dstufft> can never remember if I'm -4 or -5 in which time of the year
[21:47:44] <dstufft> but i'm guessing you don't live on a boat
[21:47:57] <barry> yeah. here at canonical it's a job requirement to be able to do dst&utc math in your head :)
[21:48:09] <barry> and 24h clock
[21:48:17] <barry> no boats for me!
[21:48:44] <barry> dstufft: one last thing before i disappear. would it be totally insane to just add $root/local/bin to activate's $PATH?
[21:49:02] <tomprince> It'd break other peoples expectaions.
[21:49:04] <barry> i think i can make everything mostly work acceptably if not ideally that way
[21:49:33] <barry> hmm
[21:49:40] <dstufft> barry: well it'd work for some defintiion of work, but I think that'l cause headaches, people invoke from the bin path all the time
[21:49:43] <tomprince> I often try to run things via <venv>/bin/<whatever> rather than than activating. (Particularly from CI systems.
[21:49:58] <barry> yeah, that's true. i do that too
[21:49:59] <dstufft> often times in init systems or superviord or whatever
[21:50:20] <barry> okay, let's shoot for trying to get pip into $root/bin in a sensible way
[21:51:29] <tomprince> barry: Do you have a link to the patches that debian applies?
[21:51:42] <dstufft> I think these are new patches
[21:51:46] <dstufft> they are probably in the .debs
[21:51:57] <dstufft> or amybe that's only source debs
[21:52:06] <dstufft> the actual patches would be useful tho if they aren't there
[21:56:49] <barry> you can get any source branch if you have bzr
[21:56:54] <barry> bzr branch ubuntu:python3.4
[21:57:15] <barry> f.e. gives you the source branch for python3.4 in trusty. then debian/patches has all the patches that are applied
[21:57:29] <barry> it's not quite a quilt stack after checkout, but this will apply the patches:
[21:57:36] <barry> make -f debian/rules patch
[21:57:50] <barry> other packages don't need that step
[21:58:03] <dstufft> barry: your .debs have diferent patches tho yea?
[21:58:12] <barry> dstufft: just one difference:
[21:58:23] <barry> http://paste.ubuntu.com/7200752/
[21:59:09] <barry> i.e. it does not rmrf the ensurepip package dir
[21:59:12] <tomprince> Looking at http://patch-tracker.debian.org/patch/series/view/python2.7/2.7.6-8/distutils-install-layout.diff I bet ensurepip is running outside of the created venv, and so sys.prefix is /usr and so the unix_local scheme is used.
[21:59:37] <tomprince> But once in the enviroment, sys.prefix != /usr and so the a differrent scheme is used.
[22:01:28] <tomprince> That is, the patches to sysconfig are smart enough to add /local/ to paths only when using the system python outside a virtualenv, but ensurepip is running there.
[22:02:30] <barry> when pyvenv runs, it's running ensurepip outside the virtualenv right?
[22:02:40] <dstufft> shouldn't b
[22:02:53] <dstufft> pyvenv just invokes a subprocess
[22:02:58] <dstufft> python -m ensurepip
[22:03:37] <barry> then it's running inside the venv and
[22:03:38] <barry> % /tmp/jj/bin/python -c "import sys; print(sys.prefix)"
[22:03:38] <barry> /tmp/jj
[22:03:43] <dstufft> https://github.com/python/cpython/blob/master/Lib/venv/__init__.py#L234-L241
[22:04:00] <dstufft> ooo
[22:04:02] <dstufft> you know what it might be
[22:04:20] <dstufft> I wonder if this is happening before pyvenv drops the config file that makes pyvenv look in the right paths
[22:05:04] <barry> well, this is interesting:
[22:05:10] <dstufft> guess not look at the code :[
[22:05:17] <barry> % cat /tmp/jj/pyvenv.cfg
[22:05:17] <barry> home = /usr/bin
[22:05:17] <barry> include-system-site-packages = false
[22:05:17] <barry> version = 3.4.0
[22:05:25] <barry> why is home /usr/bin?
[22:06:20] <dstufft> I dunno
[22:06:30] <dstufft> I'm not super familar with the venv module yet :(
[22:10:55] <dstufft> dirname, exename = os.path.split(os.path.abspath(executable))
[22:11:02] <dstufft> where dirname == home
[22:11:16] <dstufft> and executable == sys.executable
[22:11:46] <barry> i know i saw that somewhere
[22:12:39] <barry> but now i really do have to go. dstufft, tomprince thanks, and i'll catch up with you tomorrow
[22:12:51] <dstufft> see ya
[22:22:05] <qwcode> dstufft, btw, what I'm seeing on debian with pyvenv is the pip script showing in <venv>/local/bin/pip, but not in <venv>/bin/pip
[22:22:26] <dstufft> qwcode: yea that's what barry is telling me
[22:22:29] <qwcode> dstufft, i.e. pip/setuptools are installed, just a script location issue
[22:22:41] <dstufft> well the lib is wrong too
[22:22:58] <dstufft> $ test/local/bin/pip --version
[22:22:58] <dstufft> pip 1.5.4 from /root/test/local/lib/python3.4/dist-packages (python 3.4)
[22:23:58] <qwcode> dstufft, oh, ok, wasn't following along earlier. I gotta run, but will look later since somewhat familar with debian.
[22:24:08] <dstufft> it's installing into local too
[22:24:19] <dstufft> I just did local/bin/pip install requests
[22:24:29] <dstufft> and it installed into local/lib/python3.4/dist-packages
[22:24:39] <dstufft> it's gotta be becasue of debian's patches, but why because is the question
[22:53:50] <dstufft> qwcode: barry figured it out
[22:53:54] <dstufft> it's debian's patches to distutils