def __init__(self, target_environ=None, passive=False):
self.passive = passive<EOL>self.manager = None<EOL>if (target_environ is None) or (target_environ is os.environ):<EOL><INDENT>self.target_environ = os.environ<EOL>self.update_session = True<EOL><DEDENT>else:<EOL><INDENT>self.target_environ = target_environ<EOL>self.update_session = False<EOL><DEDENT>
target_environ: dict
    If target_environ is None or os.environ, interpreted actions are
    applied to the current python interpreter. Otherwise, changes are
    only applied to target_environ. In either case you must call
    `apply_environ` to flush all changes to the target environ dict.

passive: bool
    If True, commands that do not update the environment (such as info)
    are skipped.