<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _run_setup_py(self, args, echo=True, echo2=True, ff=''):
 """Run setup.py with monkey-patched setuptools. The patch forces setuptools to use the file-finder 'ff'. If 'ff' is the empty string, the patch is not applied. 'args' is the list of arguments that should be passed to setup.py. """

        python = self.python

        if ff:
            setup_py = '-c"%s"' % (RUN_SETUP % locals())
        else:
            setup_py = 'setup.py %s' % ' '.join(args)

        rc, lines = self.process.popen(
            '"%(python)s" %(setup_py)s' % locals(), echo=echo, echo2=echo2)

        return rc, lines