code: def setup_function():
      environment.start()
      for var in [
          "JUPYTER_CONFIG_DIR",
          "JUPYTER_CONFIG_PATH",
          "JUPYTER_DATA_DIR",
          "JUPYTER_NO_CONFIG",
          "JUPYTER_PATH",
          "JUPYTER_PLATFORM_DIRS",
          "JUPYTER_RUNTIME_DIR",
      ]:
          os.environ.pop(var, None)
      # For these tests, default to preferring the user-level over environment-level paths
      # Tests can override this preference using the prefer_env decorator/context manager
      os.environ["JUPYTER_PREFER_ENV_PATH"] = "no"
  
imports: from __future__ import annotations
  import os
  import re
  import shutil
  import site
  import stat
  import subprocess
  import sys
  import tempfile
  import warnings
  from unittest.mock import patch
  import pytest
  from platformdirs import __version_info__
  from jupyter_core import paths
  from jupyter_core.paths import UF_HIDDEN, _win32_restrict_file_to_user_ctypes, exists, is_file_hidden, is_hidden, issue_insecure_write_warning, jupyter_config_dir, jupyter_config_path, jupyter_data_dir, jupyter_path, jupyter_runtime_dir, prefer_environment_over_user, secure_write
label_desc: Use image node_id 1 for calling a global function with example usage: setup_function() without return types