On Jul 15, 2017, at 00:22, Nathaniel Smith <n...@pobox.com> wrote:
> A user on the pywavelets mailing list seems to have gotten themselves
> into a mess: AFAICT they did 'pip install --user pywavelets' using a
> ucs4 python, and then started a ucs2 python and tried to import it,
> which of course failed because these two python builds have
> incompatible ABIs, even though they share the same --user directory.
> 
> In retrospect, this seems like an obvious oversight: right now the
> --user path (on Linux) is something like
> 
>  ~/.local/lib/python3.5/site-packages
> 
> Wouldn't it make more sense for it to be something like
> 
>  ~/.local/lib/cpython-35m-x86_64-linux-gnu/site-packages
> 
> so that Pythons with incompatible ABIs can't see each other's
> packages? (That's sysconfig.get_config_var("SOABI").)
> 
> Obviously this can't really be fixed for old versions, but is this a
> change that should be made in 3.7?

I'm confused.  This shouldn't be an issue for Python 3.*.  First, there is no 
ucs2 / ucs4 option since Python 3.3 and PEP 393's flexible string 
representation. But even before that, PEP 3149 (in 3.2) is supposed to ensure 
that extension modules have unique names based on ABI, for example:

_psutil_osx.cpython-35m-darwin.so

This *is* a problem in Python 2.7 but that's not going to change now.

--
  Ned Deily
  n...@python.org -- []

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

Reply via email to