[pypy-commit] pypy py3.5: merge py3.5-user-site-impl into py3.5
mattip
pypy.commits at gmail.com
Sun May 6 15:27:33 EDT 2018
Author: Matti Picus <matti.picus at gmail.com>
Branch: py3.5
Changeset: r94476:00bffc96bc78
Date: 2018-05-06 22:04 +0300
http://bitbucket.org/pypy/pypy/changeset/00bffc96bc78/
Log: merge py3.5-user-site-impl into py3.5
diff --git a/lib-python/3/sysconfig.py b/lib-python/3/sysconfig.py
--- a/lib-python/3/sysconfig.py
+++ b/lib-python/3/sysconfig.py
@@ -20,30 +20,30 @@
_INSTALL_SCHEMES = {
'posix_prefix': {
- 'stdlib': '{installed_base}/lib/python{py_version_short}',
- 'platstdlib': '{platbase}/lib/python{py_version_short}',
- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
+ 'stdlib': '{installed_base}/lib/{implementation_lower}{py_version_short}',
+ 'platstdlib': '{platbase}/lib/{implementation_lower}{py_version_short}',
+ 'purelib': '{base}/lib/{implementation_lower}{py_version_short}/site-packages',
+ 'platlib': '{platbase}/lib/{implementation_lower}{py_version_short}/site-packages',
'include':
- '{installed_base}/include/python{py_version_short}{abiflags}',
+ '{installed_base}/include/{implementation_lower}{py_version_short}{abiflags}',
'platinclude':
- '{installed_platbase}/include/python{py_version_short}{abiflags}',
+ '{installed_platbase}/include/{implementation_lower}{py_version_short}{abiflags}',
'scripts': '{base}/bin',
'data': '{base}',
},
'posix_home': {
- 'stdlib': '{installed_base}/lib/python',
- 'platstdlib': '{base}/lib/python',
- 'purelib': '{base}/lib/python',
- 'platlib': '{base}/lib/python',
- 'include': '{installed_base}/include/python',
- 'platinclude': '{installed_base}/include/python',
+ 'stdlib': '{installed_base}/lib/{implementation_lower}',
+ 'platstdlib': '{base}/lib/{implementation_lower}',
+ 'purelib': '{base}/lib/{implementation_lower}',
+ 'platlib': '{base}/lib/{implementation_lower}',
+ 'include': '{installed_base}/include/{implementation_lower}',
+ 'platinclude': '{installed_base}/include/{implementation_lower}',
'scripts': '{base}/bin',
'data': '{base}',
},
'pypy': {
- 'stdlib': '{installed_base}/lib-python',
- 'platstdlib': '{base}/lib-python',
+ 'stdlib': '{installed_base}/lib-{implementation_lower}',
+ 'platstdlib': '{base}/lib-{implementation_lower}',
'purelib': '{base}/site-packages',
'platlib': '{base}/site-packages',
'include': '{installed_base}/include',
@@ -62,28 +62,28 @@
'data': '{base}',
},
'nt_user': {
- 'stdlib': '{userbase}/Python{py_version_nodot}',
- 'platstdlib': '{userbase}/Python{py_version_nodot}',
- 'purelib': '{userbase}/Python{py_version_nodot}/site-packages',
- 'platlib': '{userbase}/Python{py_version_nodot}/site-packages',
- 'include': '{userbase}/Python{py_version_nodot}/Include',
- 'scripts': '{userbase}/Python{py_version_nodot}/Scripts',
+ 'stdlib': '{userbase}/{implementation}{py_version_nodot}',
+ 'platstdlib': '{userbase}/{implementation}{py_version_nodot}',
+ 'purelib': '{userbase}/{implementation}{py_version_nodot}/site-packages',
+ 'platlib': '{userbase}/{implementation}{py_version_nodot}/site-packages',
+ 'include': '{userbase}/{implementation}{py_version_nodot}/Include',
+ 'scripts': '{userbase}/{implementation}{py_version_nodot}/Scripts',
'data': '{userbase}',
},
'posix_user': {
- 'stdlib': '{userbase}/lib/python{py_version_short}',
- 'platstdlib': '{userbase}/lib/python{py_version_short}',
- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
+ 'stdlib': '{userbase}/lib/{implementation_lower}{py_version_short}',
+ 'platstdlib': '{userbase}/lib/{implementation_lower}{py_version_short}',
+ 'purelib': '{userbase}/lib/{implementation_lower}{py_version_short}/site-packages',
+ 'platlib': '{userbase}/lib/{implementation_lower}{py_version_short}/site-packages',
+ 'include': '{userbase}/include/{implementation_lower}{py_version_short}',
'scripts': '{userbase}/bin',
'data': '{userbase}',
},
'osx_framework_user': {
- 'stdlib': '{userbase}/lib/python',
- 'platstdlib': '{userbase}/lib/python',
- 'purelib': '{userbase}/lib/python/site-packages',
- 'platlib': '{userbase}/lib/python/site-packages',
+ 'stdlib': '{userbase}/lib/{implementation_lower}',
+ 'platstdlib': '{userbase}/lib/{implementation_lower}',
+ 'purelib': '{userbase}/lib/{implementation_lower}/site-packages',
+ 'platlib': '{userbase}/lib/{implementation_lower}/site-packages',
'include': '{userbase}/include',
'scripts': '{userbase}/bin',
'data': '{userbase}',
@@ -106,6 +106,11 @@
_USER_BASE = None
+def _get_implementation():
+ if '__pypy__' in sys.builtin_module_names:
+ return 'PyPy'
+ return 'Python'
+
def _safe_realpath(path):
try:
return realpath(path)
@@ -540,6 +545,8 @@
except AttributeError:
# sys.abiflags may not be defined on all platforms.
_CONFIG_VARS['abiflags'] = ''
+ _CONFIG_VARS['implementation'] = _get_implementation()
+ _CONFIG_VARS['implementation_lower'] = _get_implementation().lower()
if os.name == 'nt':
_init_non_posix(_CONFIG_VARS)
@@ -715,6 +722,8 @@
_print_dict('Paths', get_paths())
print()
_print_dict('Variables', get_config_vars())
+ print
+ _print_dict('User', get_paths('%s_user' % os.name))
if __name__ == '__main__':
diff --git a/lib-python/3/test/test_sysconfig_pypy.py b/lib-python/3/test/test_sysconfig_pypy.py
new file mode 100644
--- /dev/null
+++ b/lib-python/3/test/test_sysconfig_pypy.py
@@ -0,0 +1,17 @@
+import os
+import sys
+import unittest
+import site
+
+
+class TestSysConfigPypy(unittest.TestCase):
+ def test_install_schemes(self):
+ # User-site etc. paths should have "pypy" and not "python"
+ # inside them.
+ if site.ENABLE_USER_SITE:
+ parts = site.USER_SITE.lower().split(os.path.sep)
+ assert any(x.startswith('pypy') for x in parts[-2:]), parts
+
+
+if __name__ == "__main__":
+ unittest.main()
More information about the pypy-commit
mailing list