Dear All,
Using the new matplotlib-0.87.2 on Windows, I get the following error
message:
File "c:\Python\lib\site-packages\matplotlib\texmanager.py", line 245,
in make_ps
stdout=PIPE, close_fds=True)
File "C:\Python\lib\subprocess.py", line 500, in __init__
raise ValueError("close_fds is not supported on Windows "
ValueError: close_fds is not supported on Windows platforms
Changeing all the `close_fds=True' -> `close_fds=False', I get the
following:
File "c:\Python\lib\site-packages\matplotlib\texmanager.py", line 245,
in make_ps
stdout=PIPE, close_fds=False)
File "C:\Python\lib\subprocess.py", line 533, in __init__
(p2cread, p2cwrite,
File "C:\Python\lib\subprocess.py", line 593, in _get_handles
p2cread = self._make_inheritable(p2cread)
File "C:\Python\lib\subprocess.py", line 634, in _make_inheritable
DUPLICATE_SAME_ACCESS)
TypeError: an integer is required
Changed all the stdout=PIPES to stdout=STDOUT, but get the same error...
I've read through PEP-324 and subprocess.html but these PIPES confuses
me...
I thought computers work with CPUs, chips, wires and PCBs etc. ... but
not PIPES ... or at least not my win32 type computer, maybe Linux uses
different hardware ... >:-)
(At to that `file descriptors', `child process', `stdin', `stdout',
`stderr'...)
Would something like the following work?
if sys.platform == 'win32':
stdin, stdout, stderr = os.popen3(command)
verbose.report(stdout.read(), 'debug-annoying')
err = stderr.read
if err: verbose.report(err, 'helpful'):
...
else:
process = Popen(command, shell=True, stderr=STDOUT,
stdout=PIPE, close_fds=True)
exit_status = process.wait()
if exit_status:
...
PJR