The goal in this approach would be to place headers, and binaries in the same location as if they were installed with a separate package.
On Mon, May 15, 2017 at 7:29 PM, Sylvain Corlay <[email protected]> wrote: > Hi, > > When distributing python packages that depend on non-python components, > the typical way of doing this with general-purpose package managers (linux > distributions, conda) is to place binaries, headers, configuration and > other artefacts for these components in their respective natural locations > under the installation prefix (e.g. PREFIX/bin/, PREFIX/include/, > PREFIX/etc/, PREFIX/share/). > > Now, if I have a python package that depends on such a thing (e.g. pyzmq > vs zmq), the pypi wheel for pyzmq will vendor a binary for libzmq as > package data. > > For the case of the header files, there is the distutils `install_headers` > directive, but the target directory is (typically) under > PREFIX/include/PythonX.Y, which is probably only a good choices for headers > of a C extension linked with this specific python installation. > > Would it make sense, when vendoring packages packages that don't depend on > the python version in a wheel to use `data_files` instead, and target > respectively the `bin`, `include`, `etc` and `share` subdirectories of the > prefix? > > Specifically, for the headers, one could do > > > data_files = [ > ('include/foobar', [list of the foobar header files])), > ], > > Note: I was just using zmq as an example. > > Thanks, > > Sylvain > >
_______________________________________________ Distutils-SIG maillist - [email protected] https://mail.python.org/mailman/listinfo/distutils-sig
