subprocess.Popen и stderr на windows
есть вот такой простой фрагмент:
p = subprocess.Popen(cmd,
shell=True,
bufsize=1,
env=self.subprocess_env,
cwd=wdir,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
stdout, stderr = p.communicate(None)
logging.info(stdout)
logging.info(stderr)
retcode = p.wait()
процесс который запускается отсюда это nmake.exe или cl.exe
к сожалению не перехватывается stderr, так что ошибки компиляции не показываются. Ума не приложу как это победить. Может кто знает ?
P.S. можно и без p.communicate(), а просто читать из p.stdout p.stderr. Stdout весь есть, хоть и буферизированный, а stderr нет.
p = subprocess.Popen(cmd,
stdout, stderr = p.communicate(None)
logging.info(stdout)
logging.info(stderr)
retcode = p.wait()
процесс который запускается отсюда это nmake.exe или cl.exe
к сожалению не перехватывается stderr, так что ошибки компиляции не показываются. Ума не приложу как это победить. Может кто знает ?
P.S. можно и без p.communicate(), а просто читать из p.stdout p.stderr. Stdout весь есть, хоть и буферизированный, а stderr нет.
