On Fri, Jul 14, 2017 at 10:51 PM, Nick Coghlan <ncogh...@gmail.com> wrote:
> On 15 July 2017 at 14:41, Nathaniel Smith <n...@pobox.com> wrote:
>>> _psutil_osx.cpython-35m-darwin.so
>>
>> Right, but this only helps if you install multiple builds of the same
>> package on top of each other. Which Debian is able to arrange, so PEP
>> 3149 solves their problem. But the --user dir is managed by pip, and
>> if you try to install a cpython-35dm package on top of a cpython-35m
>> package, then pip will helpfully remove the first before installing
>> the second. (And this is really the only reasonable thing for pip to
>> do.) So in practice any given package in the --user dir can only
>> support one SOABI variant, even though all the SOABI variants use the
>> same dir.
>
> Well, sort of - it's not intrinsic to *pip* or *Python* that this
> happens, it's an artifact of the fact that even though the
> compatibility tagging scheme allows for it, folks don't tend to
> publish "multi-SOABI" wheel files (where the 35dm and 35m binaries are
> in the same wheel), so installing one will uninstall the other.

I guess that's... sort of true? But it seems to me that the goal
should be that Python shouldn't be finding broken packages on its
search path, and AFAICT there are only two ways to accomplish that:

- give Pythons with different SOABIs different search paths
- mandate that *all* wheels be "multi-SOABI" wheel files that include
every possible SOABI

Installing a single-SOABI wheel into a multi-SOABI search path is just
asking for trouble.

Also AFAICT PyPy also shares the same --user path as the corresponding
CPython release, so this isn't just restricted to debug builds of
Python.

-n

-- 
Nathaniel J. Smith -- https://vorpus.org
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to