def __init__(self, name, prefix=unicode_root_prefix, env_name=u"<STR_LIT>", mode=None):
<EOL>self.prefix = to_unicode(prefix)<EOL>used_mode = mode if mode else ('<STR_LIT:user>' if exists(join(self.prefix, u'<STR_LIT>')) else '<STR_LIT>')<EOL>logger.debug("<STR_LIT>"<EOL>% (name, self.prefix, env_name, mode, used_mode))<EOL>try:<EOL><INDENT>self.set_dir(name, self.prefix, env_name, used_mode)<EOL><DEDENT>except (WindowsError, pywintypes.error):<EOL><INDENT>if '<STR_LIT:user>' in dirs_src and used_mode == '<STR_LIT>':<EOL><INDENT>logger.warn("<STR_LIT>"<EOL>"<STR_LIT>")<EOL>try:<EOL><INDENT>self.set_dir(name, self.prefix, env_name, '<STR_LIT:user>')<EOL><DEDENT>except:<EOL><INDENT>pass<EOL><DEDENT><DEDENT>else:<EOL><INDENT>logger.fatal("<STR_LIT>")<EOL><DEDENT><DEDENT>
Prefix is the system prefix to be used -- this is needed since
there is the possibility of a different Python's packages being managed.