+++ /dev/null
-diff --git a/Lib/site.py b/Lib/site.py
---- a/Lib/site.py
-+++ b/Lib/site.py
-@@ -262,7 +266,7 @@ def addusersitepackages(known_paths):
- # this call will also make sure USER_BASE and USER_SITE are set
- user_site = getusersitepackages()
-
-- if ENABLE_USER_SITE and os.path.isdir(user_site):
-+ if ENABLE_USER_SITE and user_site and os.path.isdir(user_site):
- addsitedir(user_site, known_paths)
- return known_paths
-
-diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -170,7 +170,13 @@ def _expand_vars(scheme, vars):
- for key, value in _INSTALL_SCHEMES[scheme].items():
- if os.name in ('posix', 'nt'):
- value = os.path.expanduser(value)
-- res[key] = os.path.normpath(_subst_vars(value, vars))
-+ try:
-+ path = _subst_vars(value, vars)
-+ except AttributeError:
-+ # a substitution variable doesn't exist (eg. '{userbase}'),
-+ # don't create the variable
-+ continue
-+ res[key] = os.path.normpath(path)
- return res
-
- def _get_default_scheme():
-@@ -488,7 +494,12 @@ def get_config_vars(*args):
- # 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()
-+ try:
-+ _CONFIG_VARS['userbase'] = _getuserbase()
-+ except KeyError:
-+ # catch getpwuid() error: don't create the variable if the user
-+ # doesn't exist
-+ pass
-
- if 'srcdir' not in _CONFIG_VARS:
- _CONFIG_VARS['srcdir'] = _PROJECT_BASE