Author FFY00
Recipients FFY00, frenzy, hroncok, jaraco, steve.dower
Date 2021-05-03.18:12:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1620065548.94.0.956773768328.issue43976@roundup.psfhosted.org>
In-reply-to
Content
FYI, I have change the implementation to split the extra install schemes and extra schemes activated on site. This still makes sense over sitecustomize because we want the packages to be included in site.getsitepackages -- we want the vendor packages to essentially be the same as site-packages.

I have also moved sysconfig._get_preferred_schemes to the vendor config, instead of asking distributors to patch sysconfig -- this is why I prefer having it as executable code, we customize using functions, etc.
https://docs.python.org/3.10/library/sysconfig.html#sysconfig._get_preferred_schemes

A config taking advantage of all these mechanisms should look like this:

```
EXTRA_INSTALL_SCHEMES = {
    'vendor': {
        'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
        'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
        'purelib': '{base}/lib/python{py_version_short}/vendor-packages',
        'platlib': '{platbase}/{platlibdir}/python{py_version_short}/vendor-packages',
        'include':
            '{installed_base}/include/python{py_version_short}{abiflags}',
        'platinclude':
            '{installed_platbase}/include/python{py_version_short}{abiflags}',
        'scripts': '{base}/bin',
        'data': '{base}',
    },
}

EXTRA_SITE_INSTALL_SCHEMES = [
    'vendor',
]

def get_preferred_schemes(...):
    ...
```

Do you have any thoughts on this?
History
Date User Action Args
2021-05-03 18:12:28FFY00setrecipients: + FFY00, jaraco, steve.dower, hroncok, frenzy
2021-05-03 18:12:28FFY00setmessageid: <1620065548.94.0.956773768328.issue43976@roundup.psfhosted.org>
2021-05-03 18:12:28FFY00linkissue43976 messages
2021-05-03 18:12:28FFY00create