[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: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
[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: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: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: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: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
[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: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: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: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: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
[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: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: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: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: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: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: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?