[15:21:33] <dstufft> ngoldbaum: fwiw you can publish wheels for OSX and Windows (since you have compiled code in Mercurial IIRC) and then Mercurial can install from PyPI without a compiler, we don't yet allow Linux or other OSs to have wheels
[15:21:47] <ngoldbaum> right, was just about to ask about that
[15:22:01] <ngoldbaum> i know that the name of the wheel determines which OSX versions the wheel is installable on (for example)
[15:23:48] <dstufft> for Windows you need to build it with the right compiler for that CPython version, but otherwise building it on say Win 7 should work on Win 8 (or w/e)
[15:25:01] <ngoldbaum> dstufft: awesome, thanks so much for being so helpful, I know full well that helping people on IRC is pretty thankless
[15:26:18] <dstufft> ngoldbaum: I *think* if you don't have any requirements on a particular SDK, that building a wheel with Python.org installed Python on any version of OSX is your best bet for compatability
[15:26:36] <dstufft> (IDK if you link to CommonCrypto or anything where you don't support older SDKs)
[15:27:07] <ngoldbaum> i believe mercurial only uses the crypto libs in the standard library
[15:27:25] <ngoldbaum> (might be wrong about that)
[16:20:22] <dstufft> that should let you always pass --single-version-externally-managed to setup.py and it'll jsut remove it if setuptools isn't available
[16:26:04] <ngoldbaum> dstufft: on here, it says I should also specify --root and/or --record, but I don't see what those actually do
[16:31:06] <dstufft> or switch setup.py install to be pip install
[23:27:44] <Earchcraft> is there way to ask freeze to use >= instead of == ? Is there any downside?
[23:34:43] <carljm> Earchcraft: No, there is no way built-in to pip; you could pipe the resulting file through sed or something. And yes, there is a downside: every env you create from that requirements file could be different in unpredictable ways, depending on when it was created and when new versions of your dependencies are released.
[23:36:08] <ngoldbaum> it wouldn't really be "frozen" requirements either
[23:36:16] <carljm> Freeze is meant to create a requirements file that will generate a reproducible env. A requirements file that uses >= instead of == doesn't generate a reproducible env.
[23:36:39] <carljm> That may be ok for some uses; for many it's not. I'd never do that in a requirements file that's used to install requirements for a production web service, for instance.
[23:37:15] <ngoldbaum> interestingly, the backward compatibility guarantees are much stronger in the scientific world. I've pretty much never broken anything updating numpy (for example)