docstr: The setuptools version of the .run() method.
  
  We must pull in the entire code so we can override the level used in the
  _getframe() call since we wrap this call by one more level.
docstr_tok: ["The","setuptools","version","of","the",".run","(",")","method",".","We","must","pull","in","the","entire","code","so","we","can","override","the","level","used","in","the","_getframe","(",")","call","since","we","wrap","this","call","by","one","more","level","."]
code: def setuptools_run(self):
      """The setuptools version of the .run() method.
  
      We must pull in the entire code so we can override the level used in the
      _getframe() call since we wrap this call by one more level.
      """
      from distutils.command.install import install as distutils_install
  
      # Explicit request for old-style install?  Just do it
      if (
          self.old_and_unmanageable
          or self.single_version_externally_managed
      ):
          return distutils_install.run(self)
  
      # Attempt to detect whether we were called from setup() or by another
      # command.  If we were called by setup(), our caller will be the
      # 'run_command' method in 'distutils.dist', and *its* caller will be
      # the 'run_commands' method.  If we were called any other way, our
      # immediate caller *might* be 'run_command', but it won't have been
      # called by 'run_commands'.  This is slightly kludgy, but seems to
      # work.
      #
      caller = sys._getframe(3)
      caller_module = caller.f_globals.get("__name__", "")
      caller_name = caller.f_code.co_name
  
      if (
          caller_module != "distutils.dist"
          or caller_name != "run_commands"
      ):
          # We weren't called from the command line or setup(), so we
          # should run in backward-compatibility mode to support bdist_*
          # commands.
          distutils_install.run(self)
      else:
          self.do_egg_install()
  
imports: import sys
  from distutils.file_util import write_file
label_desc: Use image node_id 2 for calling the install obj's underlying member method code with example usage: obj.setuptools_run() and returns: distutils_install