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. Rather than attempting to change how site-packages works (which wouldn't help until 3.7+ anyway), the main missing piece in the status quo is the equivalent of a "mergewheel" operation that creates those multi-SOABI files and thus allows both sets of binaries to be added to the same environment (the same way Linux distros do for the system site-packages directory). Cheers, Nick. P.S. Folks on Python 2.7 are pretty much stuck, though - while importlib2 and/or filefinder2 *might* be able to help, several of the pieces needed to fix this properly are Python 3 only. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig