[Distutils] What does it mean for Python to "bundle pip"?

Ronald Oussoren ronaldoussoren at mac.com
Fri Aug 23 08:31:58 CEST 2013


On 23 Aug, 2013, at 5:17, Nick Coghlan <ncoghlan at gmail.com> wrote:
> 
> That said, I'm considering the idea of adding a "variant" field to the
> compatibility tags for wheel 1.1, along the lines of what Oscar
> Benjamin suggested earlier. By default, installers would only find
> wheels without a variant defined, but users could opt in to looking
> for particular variants. The meaning of the variants field would be
> entirely distribution specific. Numpy, for example, could publish:
> 
> numpy-1.7.1-cp27-cp22m-win32.whl
> numpy-1.7.1-cp27-cp22m-win32-sse.whl
> numpy-1.7.1-cp27-cp22m-win32-sse2.whl
> numpy-1.7.1-cp27-cp22m-win32-sse3.whl
> 
> The only restrictions on the variant tags would be:
> 1. must be ASCII
> 2. must not contain '.' or '-' characters
> 
> You could even go to the extent of using hashes as variant tags.

Is adding variants necessary? Numpy use runtime selection for picking
the most appropriate extension code (heck, AFAIK recent versions of GCC
can even compile multiple variants of functions and pick the right one
automaticly). 

A variant field like this introduces a new failure mode: uses that install
packages on one machine and then copy the entire tree to another one where 
the software crashes hard because the other machine is older and doesn't support
some CPU features.

That said, I have no experience with directly using SSE as most of my code
either doesn't vector calculations or isn't anywhere close to the performance
limitations of using naive code (CPU's are too fast ;-)

Regards,

   Ronald




More information about the Distutils-SIG mailing list