parameters: (
          version=DEFAULT_VERSION, download_base=DEFAULT_URL,
          to_dir=DEFAULT_SAVE_DIR, download_delay=15)
return_statement: return _do_download(version, download_base, to_dir, download_delay)
docstring: Ensure that a setuptools version is installed.
  
      Return None. Raise SystemExit if the requested version
      or later cannot be installed.
docstring_summary: Ensure that a setuptools version is installed.
docstring_tokens: Ensure that a setuptools version is installed .
function: def use_setuptools(
          version=DEFAULT_VERSION, download_base=DEFAULT_URL,
          to_dir=DEFAULT_SAVE_DIR, download_delay=15):
      """
      Ensure that a setuptools version is installed.
  
      Return None. Raise SystemExit if the requested version
      or later cannot be installed.
      """
      to_dir = os.path.abspath(to_dir)
  
      # prior to importing, capture the module state for
      # representative modules.
      rep_modules = 'pkg_resources', 'setuptools'
      imported = set(sys.modules).intersection(rep_modules)
  
      try:
          import pkg_resources
          pkg_resources.require("setuptools>=" + version)
          # a suitable version is already installed
          return
      except ImportError:
          # pkg_resources not available; setuptools is not installed; download
          pass
      except pkg_resources.DistributionNotFound:
          # no version of setuptools was found; allow download
          pass
      except pkg_resources.VersionConflict as VC_err:
          if imported:
              _conflict_bail(VC_err, version)
  
          # otherwise, unload pkg_resources to allow the downloaded version to
          #  take precedence.
          del pkg_resources
          _unload_pkg_resources()
  
      return _do_download(version, download_base, to_dir, download_delay)
function_tokens: def use_setuptools ( version = DEFAULT_VERSION , download_base = DEFAULT_URL , to_dir = DEFAULT_SAVE_DIR , download_delay = 15 ) : to_dir = os . path . abspath ( to_dir ) # prior to importing, capture the module state for # representative modules. rep_modules = 'pkg_resources' , 'setuptools' imported = set ( sys . modules ) . intersection ( rep_modules ) try : import pkg_resources pkg_resources . require ( "setuptools>=" + version ) # a suitable version is already installed return except ImportError : # pkg_resources not available; setuptools is not installed; download pass except pkg_resources . DistributionNotFound : # no version of setuptools was found; allow download pass except pkg_resources . VersionConflict as VC_err : if imported : _conflict_bail ( VC_err , version ) # otherwise, unload pkg_resources to allow the downloaded version to #  take precedence. del pkg_resources _unload_pkg_resources ( ) return _do_download ( version , download_base , to_dir , download_delay )