| Store | Cart

Re: [Distutils] PEP for dependencies on libraries like BLAS (was: Re: Working toward Linux wheel support)

From: Robert Collins <robe...@robertcollins.net>
Thu, 13 Aug 2015 15:10:15 +1200
On 13 August 2015 at 12:51, Nathaniel Smith <n...@pobox.com> wrote:
> On Aug 12, 2015 16:49, "Robert Collins" <robe...@robertcollins.net> wrote:>>>> I'm not sure what will be needed to get the PR accepted; At PyCon AU>> Tennessee Leuwenberg started drafting a PEP for the expression of>> dependencies on e.g. BLAS - its been given number 497, and is in the>> packaging-peps repo; I'm working on updating it now.>> I wanted to take a look at this PEP, but I can't seem to find it. PEP 497:>   https://www.python.org/dev/peps/pep-0497/> appears to be something else entirely?>> I'm a bit surprised to hear that such a PEP is needed. We (= numpy devs)> have actively been making plans to ship a BLAS wheel on windows, and AFAICT> this is totally doable now -- the blocker is windows toolchain issues, not> pypa-related infrastructure.>> Specifically the idea is to have a wheel that contains the shared library as> a regular old data file, plus a stub python package that knows how to find> this data file and how to make it accessible to the linker. So> numpy/__init__.py would start by calling:>> import pyopenblas1> # on Linux modifies LD_LIBRARY_PATH,> # on Windows uses ctypes to preload... whatever> pyopenblas1.enable()>> and then get on with things, or the build system might do:>> import pyopenblas1> pyopenblas1.get_header_directories()> pyopenblas1.get_linker_directories()>> This doesn't help if you want to declare dependencies on external, system> managed libraries and have those be automatically somehow provided or> checked for, but to me that sounds like an impossible boil-the-ocean project> anyway, while the above is trivial and should just work.

Well, have a read of the draft.

Its a solved problem by e.g. conda, apt, yum, nix and many others.

Uploading system .so's is certainly also an option, and I see no
reason why we can't do both.

I do know that distribution vendors are likely to be highly allergic
to the idea of having regular shared libraries present as binaries,
but thats a different discussion :)


Robert Collins <rbtc...@hp.com>
Distinguished Technologist
HP Converged Cloud
Distutils-SIG maillist  -  Dist...@python.org

Recent Messages in this Thread
Nathaniel Smith Aug 13, 2015 12:51 am
James Polley Aug 13, 2015 01:02 am
Olivier Grisel Aug 13, 2015 03:06 am
Robert Collins Aug 13, 2015 03:10 am
Nathaniel Smith Aug 13, 2015 06:08 am
David Cournapeau Aug 14, 2015 09:59 am
Reinout van Rees Aug 17, 2015 02:07 pm
Donald Stufft Aug 17, 2015 02:15 pm
Reinout van Rees Aug 17, 2015 08:56 pm
Nick Coghlan Aug 20, 2015 10:05 am
Wes Turner Aug 20, 2015 05:15 pm
Brett Cannon Aug 21, 2015 05:41 pm
Wes Turner Aug 21, 2015 06:30 pm
Wes Turner Aug 21, 2015 07:27 pm
Wes Turner Aug 21, 2015 07:34 pm
Wes Turner Aug 21, 2015 08:28 pm
Nick Coghlan Aug 22, 2015 10:33 am
Antoine Pitrou Aug 22, 2015 07:22 pm
Messages in this thread