def run_cmd(args, swdir, updenv=None, ignerr=False, savestderr=None):
if updenv:
# use temp environment modified with the given dict
env = os.environ.copy()
env.update(updenv)
else:
# just use environment of this (parent) process as is
env = os.environ
if ignerr:
# send stderr to devnull
stderr = open(os.devnull)
elif savestderr:
stderr = savestderr
else:
# just use stderr of this (parent) process
stderr = None
ret = subprocess.Popen(args, cwd=swdir, env=env,
stderr=stderr).wait()
if ret != 0:
if stderr:
stderr.close()
print("install failed and returned {0:d}.".format(ret),
file=sys.stderr)
print("Command was: {0}".format(" ".join(args)),
file=sys.stderr)
sys.exit(1)
if stderr:
stderr.close()
评论列表
文章目录