code: def run(self, code, use_eval=None, path=None, all_errors_exit=False, store=True):
          
          if use_eval is None:
              run_func = interpret
          elif use_eval is True:
              run_func = eval
          else:
              run_func = exec_func
          with self.handling_errors(all_errors_exit):
              if path is None:
                  result = run_func(code, self.vars)
              else:
                  use_vars = self.build_vars(path)
                  try:
                      result = run_func(code, use_vars)
                  finally:
                      self.vars.update(use_vars)
              if store:
                  self.store(code)
              return result
docs: Execute Python code.