New submission from sachin <[email protected]>:
We are trying to utilize librosa library for some processing. When we try to
load the librosa library, python platform library is triggered via the Numba
library. Numba is trying to find the underlying OS which is installed. Function
"_syscmd_uname" is triggered to find out the underlying os, but in the above
function the os.popen object which is opened to determine the OS , but when the
object is closed it throws a no child process error. This is mainly due to the
closure of the popen object before the close fuction is called. we can get
around this problem
by catching the error and returning a default value if the closing of the popen
pipeline fails
python platform.py file
def _syscmd_uname(option, default=''):
""" Interface to the system's uname command.
"""
if sys.platform in ('dos', 'win32', 'win16'):
# XXX Others too ?
return default
try:
f = os.popen('uname %s 2> %s' % (option, DEV_NULL))
except (AttributeError, OSError):
return default
output = f.read().strip()
rc = f.close() # error at this place enclose in a try except statement to
catrch the exception
if not output or rc:
return default
else:
return output
----------
components: Build
messages: 322330
nosy: sskamble619
priority: normal
severity: normal
status: open
title: python platform no child error
type: compile error
versions: Python 2.7
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue34216>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com