[Python-checkins] r80968 - in python/branches/py3k: Lib/site.py Lib/sysconfig.py Misc/NEWS
ronald.oussoren
python-checkins at python.org
Sat May 8 12:49:43 CEST 2010
Author: ronald.oussoren
Date: Sat May 8 12:49:43 2010
New Revision: 80968
Log:
Merged revisions 80967 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80967 | ronald.oussoren | 2010-05-08 12:29:06 +0200 (Sat, 08 May 2010) | 4 lines
Issue #8084: ensure that the --user directory
conforms to platforms standars on OSX when
using a python framework.
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Lib/site.py
python/branches/py3k/Lib/sysconfig.py
python/branches/py3k/Misc/NEWS
Modified: python/branches/py3k/Lib/site.py
==============================================================================
--- python/branches/py3k/Lib/site.py (original)
+++ python/branches/py3k/Lib/site.py Sat May 8 12:49:43 2010
@@ -240,6 +240,13 @@
from sysconfig import get_path
import os
+
+ if sys.platform == 'darwin':
+ from sysconfig import get_config_var
+ if get_config_var('PYTHONFRAMEWORK'):
+ USER_SITE = get_path('purelib', 'osx_framework_user')
+ return USER_SITE
+
USER_SITE = get_path('purelib', '%s_user' % os.name)
return USER_SITE
@@ -286,13 +293,11 @@
if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple
# locations.
- if 'Python.framework' in prefix:
- sitepackages.append(
- os.path.expanduser(
- os.path.join("~", "Library", "Python",
- sys.version[:3], "site-packages")))
+ from sysconfig import get_config_var
+ framework = get_config_var("PYTHONFRAMEWORK")
+ if framework and "/%s.framework/"%(framework,) in prefix:
sitepackages.append(
- os.path.join("/Library", "Python",
+ os.path.join("/Library", framework,
sys.version[:3], "site-packages"))
return sitepackages
Modified: python/branches/py3k/Lib/sysconfig.py
==============================================================================
--- python/branches/py3k/Lib/sysconfig.py (original)
+++ python/branches/py3k/Lib/sysconfig.py Sat May 8 12:49:43 2010
@@ -73,6 +73,15 @@
'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',
+ 'include': '{userbase}/include',
+ 'scripts': '{userbase}/bin',
+ 'data' : '{userbase}',
+ },
}
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
@@ -157,6 +166,12 @@
base = os.environ.get("APPDATA") or "~"
return env_base if env_base else joinuser(base, "Python")
+ if sys.platform == "darwin":
+ framework = get_config_var("PYTHONFRAMEWORK")
+ if framework:
+ return joinuser("~", "Library", framework, "%d.%d"%(
+ sys.version_info[:2]))
+
return env_base if env_base else joinuser("~", ".local")
@@ -400,13 +415,17 @@
_CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2]
_CONFIG_VARS['base'] = _PREFIX
_CONFIG_VARS['platbase'] = _EXEC_PREFIX
- _CONFIG_VARS['userbase'] = _getuserbase()
_CONFIG_VARS['projectbase'] = _PROJECT_BASE
if os.name in ('nt', 'os2'):
_init_non_posix(_CONFIG_VARS)
if os.name == 'posix':
_init_posix(_CONFIG_VARS)
+ # Setting 'userbase' is done below the call to the
+ # init function to enable using 'get_config_var' in
+ # the init-function.
+ _CONFIG_VARS['userbase'] = _getuserbase()
+
if 'srcdir' not in _CONFIG_VARS:
_CONFIG_VARS['srcdir'] = _PROJECT_BASE
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Sat May 8 12:49:43 2010
@@ -290,6 +290,9 @@
- Issue #7072: isspace(0xa0) is true on Mac OS X
+- Issue #8084: PEP 370 now conforms to system conventions for framework
+ builds on MacOS X. That is, "python setup.py install --user" will install
+ into "~/Library/Python/2.7" instead of "~/.local".
C-API
-----
More information about the Python-checkins
mailing list