code: def set_environ(env_name, value):
      
      value_changed = value is not None
      if value_changed:
          old_value = os.environ.get(env_name)
          os.environ[env_name] = value
      try:
          yield
      finally:
          if value_changed:
              if old_value is None:
                  del os.environ[env_name]
              else:
                  os.environ[env_name] = old_value
docs: Set the environment variable 'env_name' to 'value'
  
      Save previous value, yield, and then restore the previous value stored in
      the environment variable 'env_name'.
  
      If 'value' is None, do nothing