Reimplement addbuilddir() in C inside getpath.c, so as to execute it

at interpreter startup before importing any non-builtin modules.
Should fix #9589.
This commit is contained in:
Antoine Pitrou 2010-08-13 22:25:01 +00:00
parent 09c449c7de
commit e9b428f997
8 changed files with 53 additions and 25 deletions

View file

@ -107,18 +107,6 @@ def removeduppaths():
sys.path[:] = L
return known_paths
# XXX This should not be part of site.py, since it is needed even when
# using the -S option for Python. See http://www.python.org/sf/586680
def addbuilddir():
"""Append ./build/lib.<platform> in case we're running in the build dir
(especially for Guido :-)"""
from sysconfig import get_platform
s = "build/lib.%s-%.3s" % (get_platform(), sys.version)
if hasattr(sys, 'gettotalrefcount'):
s += '-pydebug'
s = os.path.join(os.path.dirname(sys.path.pop()), s)
sys.path.append(s)
def _init_pathinfo():
"""Return a set containing all existing directory entries from sys.path"""
@ -529,9 +517,6 @@ def main():
abs_paths()
known_paths = removeduppaths()
if (os.name == "posix" and sys.path and
os.path.basename(sys.path[-1]) == "Modules"):
addbuilddir()
if ENABLE_USER_SITE is None:
ENABLE_USER_SITE = check_enableusersite()
known_paths = addusersitepackages(known_paths)