diff -r 4a48450f2505 Lib/platform.py --- a/Lib/platform.py Sat Jun 14 20:41:22 2014 -0700 +++ b/Lib/platform.py Sun Jun 15 13:20:44 2014 -0400 @@ -845,11 +845,11 @@ # XXX Others too ? return default try: - f = os.popen('uname %s 2> %s' % (option, DEV_NULL)) + proc = subprocess.popen(['uname', option], stdout=subprocess.PIPE) except (AttributeError, OSError): return default - output = f.read().strip() - rc = f.close() + output = proc.communicate()[0].decode('latin1') + rc = proc.wait() if not output or rc: return default else: