[00:21:33] <wt> dstufft, fwiw, i am using python 2.7 with version 1.5.6 of pip (according to pip --version)
[00:23:20] <wt> dstufft, oh, and it's the system python on ubuntu 15.04
[08:51:10] <joar> if you have your package in ./src and use package_dir={
[08:52:53] <joar> if you have your package in ./src and use package_dir={'': 'src'}, the package will have different paths depending on if it's being installed or published. I need to know where my package is because I'm exec'ing a version.py file from the package in setup.py.
[09:25:24] <mgedmin> joar, do you have a question? ;)
[09:26:07] <joar> I do, it's well hidden in there though :)
[09:26:28] <joar> I'm solving my problem by checking if src/ exists and reading from there
[09:27:42] <mgedmin> in setup.py you can assume src/ exists
[11:24:14] <joar> It looked to me like I had my package in the src/ directory when running setup.py in my working tree, but when I installed the package in another environment the packages were in the top level.
[11:26:46] <ronny> joar: installation to a target will put the packages into the toplevel, but installation is different from building a source distribution
[11:56:41] <joar> ronny: the problem was that I was trying to parse src/mypkg/version.py in my setup.py, and 'src' didn't exist when I installed the package.
[11:59:34] <mgedmin> but setup.py also doesn't exist when you install the package
[12:06:13] <joar> mgedmin: not even with source dists?
[12:06:40] <joar> I'm pretty sure it exists in source dists
[12:07:06] <mgedmin> my point is: either you have setup.py and src/mypkg/version.py, or you have .../lib/pythonX.Y/site-packages/mypkg/version.py and no setup.py
[12:07:22] <mgedmin> so I'm not sure why setup.py would need to consider both possible locations for version.py
[12:08:03] <joar> mgedmin: when you install a source dist, the supplied setup.py gets executed AFAICT.
[12:08:32] <joar> and by when i mean when, not after
[13:29:42] <ronny> dstufft: btw, any oppinion on providing pip with a way to install packges into a python "foreign" to it, so pip could be in a virtualenv different from the python receiving the pacakges?
[13:41:57] <DanielHolth> it can't do that already?
[13:43:27] <mgedmin> there's pip install --target and there's pip install --root and I've no idea what those do
[13:43:38] <tomprince> DanielHolth: I think that ability was removed as being fragile.
[13:52:58] <dstufft> It was removed before because it was super hacky
[13:53:20] <dstufft> -E it was called, and it created a virutal env (or used ane xisting one) and it would essentially just re-exec itself in that virtualenv
[13:53:34] <dstufft> but it had a lot of the same problems that re-execing virtualenv.py has, so it was removed
[13:53:56] <dstufft> if someone comes up with a way that isn't fragile as hell, then it's certainly a possibility
[13:55:06] <ronny> dstufft: it already invokes python for handling installation , my idea would be to support obtaining the metadata for virtualenvs from them, and just doing installation/file removal based on metadata
[13:55:37] <ronny> (so install would invoke egg_info/install with the target python)
[13:56:35] <dstufft> ronny: what about for wheels?
[13:57:45] <ronny> dstufft: it needs to obtain the target binary tags to pick the right ones
[13:58:17] <ronny> dstufft: hmm, actually wheels make it a lot more easy
[14:02:24] <DanielHolth> it seems like you should be able to just run a script in the target environment to print all the necessary destination paths, and then unpack the wheel that way.
[14:03:28] <DanielHolth> and if you actually had to build something, then you have a problem.
[14:03:52] <ronny> DanielHolth: the target python can be used for building just as well
[14:04:26] <ronny> alltho there should be some sanity checks, it would be nice if pip errored out early instead of setup.py stubmling uppon missing gcc
[14:05:02] <DanielHolth> I think you have to just let setup.py fail if it's going to.
[14:05:16] <DanielHolth> Yes pip already has to run setup.py in a subprocess
[14:05:49] <ronny> DanielHolth: the errors are already confusing on stock linux, its probably worse if its on windows
[14:06:04] <DanielHolth> A different way is to just make an executable zip of pip and run that with the target python. Then pip isn't importable in the target environment.
[14:07:55] <ronny> DanielHolth: i'd suggest handlign only the simple cases and have the complex ones be handled by build tool support later (or if someone can provide a comprehensible tested patch)
[14:08:19] <ionelmc> has anyone ever talken to the person making these wheels here: http://www.lfd.uci.edu/~gohlke/pythonlibs/ ?
[14:08:26] <DanielHolth> I would suggest improving the error messages in setuptools
[14:08:51] <ionelmc> why doesn't he make a pypi repo (there's free hosting for that at binstar, and probably others)
[14:09:59] <DanielHolth> for a long time they were bdist_wininst exe's
[14:10:51] <tomprince> If the links weren't all js, it would already work as one. :/
[14:11:08] <ronny> DanielHolth: pip should just provide a message that this is a package with extensions and no wheel was found, if it errors compiler installation may be necessary, potentially linking documentation
[14:11:12] <ionelmc> seems he wants to save bandwidth
[15:05:01] <DanielHolth> ronny do you expect to parse the target setup.py with AST looking for extensions keywords to the setup call, hoping that the user didn't collect the arguments into a dict and call just setup(**arguments), or perhaps look for Extension()
[15:23:28] <ronny> dstufft: i suspect anything short of obtaining the distribution and iterating it and its features for extension wont do
[15:54:47] <tdsmith> Gohlke works in my department; I've worked on projects with their lab. Never met the guy
[19:18:14] <tdsmith> does `brew doctor` say anything interesting? `brew link python` or `brew reinstall python` may work or provide informative error messages
[19:19:38] <iCHAIT1> I did not install python using homebrew
[19:19:53] <iCHAIT1> So maybe that is why it is not showing up anything like that.
[19:21:42] <tdsmith> `python -m pip install -U --force-reinstall pip` will probably rewrite the stubs correctly
[19:22:24] <iCHAIT1> What seems to be the problem?
[19:23:25] <tdsmith> probably what happened is that homebrew's python was installed as a dependency of something, which installed a pip script, which was leftover when homebrew's python was subsequently uninstalled
[20:20:24] <dstufft> not sure what your question is, pip doesn't decide where to put script files, it just asks the Python interpreter. Your Python was compiled in a way so that the scripts go into that directory
[20:20:46] <dstufft> if you don't want them to go there, I think you can control it with a config file, or you can get your Python from somewhere that doesn't put it in that dir
[20:21:18] <dstufft> I perosonally use pyenv to get my Pythons, however Homebrew is also a good choice
[20:21:31] <iCHAIT1> should I unsinstall my current python and install it with homebrew?
[20:21:34] <tdsmith> heh. i thought the python.org build shipped configured to /usr/local/bin
[20:22:01] <tdsmith> you could do that or you can add the scripts dir to your PATH
[20:22:33] <tdsmith> thanks for that incantation dstufft; I was googling for it
[20:22:56] <iCHAIT1> You mean to say that I should add the scripts path to my bash/ fish config file, right?
[20:23:09] <tdsmith> however you configure your PATH, sure