[Distutils] Binary dependency management, round 2 :)

Marcus Smith qwcode at gmail.com
Wed Dec 4 20:03:47 CET 2013


> - a richer platform tagging mechanism (which we need for *nix systems
> anyway)
> - a way to ensure internal consistency of the installed *builds* in an
> environment, not just the abstract dependencies
>
> I've opened a wheel format definition issue for the first problem:
>
> https://bitbucket.org/pypa/pypi-metadata-formats/issue/15/enhance-the-platform-tag-definition-for
>
> I've posted a metadata 2.0 standard extension proposal for the latter:
>
> https://bitbucket.org/pypa/pypi-metadata-formats/issue/14/add-a-metadata-based-consistency-checking
> (the alternative index server idea is also relevant, since PyPI
> wouldn't support hosting multiple variants with the same wheel level
> compatibility tags)
>

ok, but could/would the pip/wheel toolchain ever expand itself to handle
delivery of external dependencies (like qt, tk, and numpy's "fortran
stuff").
E.g. someone would do "pip install
--tag=continuum-super-science-stack_x86_64  --index-url=
http://continuum/wheels  numpy
and this would download a set of binary wheels: some python, some c++, some
fortran, and it would all work without any OS package installs.

To me, this is why Conda/Anaconda is the "easy button" for many people,
because it packages and delivers common external dependencies.






>
>
> == Regarding custom installation directories ==
>
> This technically came up in the cobblerd thread (regarding installing
> scripts to /usr/sbin instead of /usr/bin), but I believe it may also
> be relevant to the problem of shipping external libraries inside
> wheels, static data files for applications, etc.
>
> It's a little underspecified in PEP 427, but the way the wheel format
> currently handles installation to paths other than purelib and platlib
> (or to install to both of those as part of the same wheel) is to use
> the sysconfig scheme names as subdirectories within the wheel's .data
> directory. This approach is great for making it easy to build
> well-behaved cross platform wheels that play nice with virtual
> environments, but allowing a "just put it here" escape clause could
> potentially be a useful approach for platform specific wheels
> (especially on *nix systems that use the Filesystem Hierarchy
> Standard).
>
> I've posted this idea to the metadata format issue tracker:
>
> https://bitbucket.org/pypa/pypi-metadata-formats/issue/13/add-a-new-subdirectory-to-allow-wheels-to
>
> Cheers,
> Nick.
>
> --
> Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20131204/2b3ffceb/attachment.html>


More information about the Distutils-SIG mailing list