

def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False):
    assert isinstance(commands, list)
    p = None
    for c in commands:
        try:
            dispcmd = str(([c] + args))
            p = subprocess.Popen(([c] + args), cwd=cwd, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None))
            break
        except EnvironmentError:
            e = sys.exc_info()[1]
            if (e.errno == errno.ENOENT):
                continue
            if verbose:
                print(('unable to run %s' % dispcmd))
                print(e)
            return None
    else:
        if verbose:
            print(('unable to find command, tried %s' % (commands,)))
        return None
    stdout = p.communicate()[0].strip()
    if (sys.version_info[0] >= 3):
        stdout = stdout.decode()
    if (p.returncode != 0):
        if c:
            print(('unable to run %s (error)' % dispcmd))
        return None
    return stdout

dataset/ETHPy150Open Anaconda-Platform/chalmers/versioneer.py run_command/VarMisuse@233/277 `verbose`->`c`