On Wed, Aug 15, 2012 at 11:55 AM, M.-A. Lemburg <[email protected]> wrote: > You might also want to take a look at the "prebuilt" binary > format which we have been using for several years now, e.g. > > http://www.egenix.com/products/python/mxBase/ > > The idea is a little different from what you describe, but works > well: we essentially take a snapshot of the package after it was > built and then put everything into a ZIP file. > > As a result, you can pick up where distutils left off after the > build and continue the installation on the target machine.
Thanks, that is fascinating. Wheel goes a little further, and zips up an installation of the package (with a particular set of installation paths), and it doesn't include setup.py. This is important because I want to be able to install into a Python that has no distutils at all. > The prebuilt files can also be installed and uninstalled with pip > if you reference the files directly. > > The only feature missing is support in pip for finding and downloading > the right prebuilt archive from an index server. pip currently defaults > to downloading the Windows builds, because it checks for the "highest" > version available (for some meaning of high ;-)). > > Which makes me think: would it be possible to make pip more clever > with respect to platform version strings ? I do plan to implement this with some help from my friends, at least as defined by PEP 425 (in progress; http://hg.python.org/peps/file/tip/pep-0425.txt ). I think it will be necessary to introduce the concept of picking the best package from a set of candidates with the same version, instead of just picking the highest version as pip does now. > Here's are some examples of such a version strings as detected by > pip: > > 3.2.4.win32-py2.7.prebuilt > 3.2.4.win-amd64-py2.7.prebuilt > 3.2.4.linux-x86_64-py2.7_ucs4.prebuilt > 3.2.4.linux-x86_64-py2.7_ucs2.prebuilt > 3.2.4.linux-i686-py2.7_ucs4.prebuilt > 3.2.4.linux-i686-py2.7_ucs2.prebuilt > > The code for bdist_prebuilt is in the mxSetup.py that comes with > egenix-mx-base, in case you want to take a look. I will take a look. Thanks, Daniel _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
