I have this code: import os import time import asyncio async def run_command(*args): """ Example from: http://asyncio.readthedocs.io/en/latest/subprocess.html """ # Create subprocess process = await asyncio.create_subprocess_exec( *args, # stdout must a pipe to be accessible as process.stdout stdout=asyncio.subprocess.PIPE) # Wait for the subprocess to finish stdout, stderr = await process.communicate() # Result result = stdout.decode().strip() # Return stdout return result def run_asyncio_commands(tasks): """Run tasks using asyncio and return results""" loop = asyncio.get_event_loop() commands = asyncio.gather(*tasks) # Unpack list using * results = loop.run_until_complete(commands) loop.close() return results if __name__ == '__main__': start = time.time() cmds = [ ['du', '-sh', '/Users/fredrik/Desktop'], ['du', '-sh', '/Users/fredrik'], ['du', '-sh', '/Users/fredrik/Pictures'] ] tasks = [] for cmd in cmds: tasks.append(run_command(*cmd)) results = run_asyncio_commands(tasks) print(results) end = time.time() print('Script ran in', str(end - start), 'seconds') When I run the that code in Python 3.6.1 on my mac, I get this: ['780K\t/Users/fredrik/Desktop', '46G\t/Users/fredrik', '52M\t/Users/fredrik/Pictures'] Script ran in 6.405519008636475 seconds But when I run the same script on Windows (but with the du commands substituted to something which works on Windows), also with Python 3.6.1, I get this: Traceback (most recent call last): File "C:\Users\iruser\Desktop\asynciotest.py", line 66, in <module> results = run_asyncio_commands(tasks) File "C:\Users\iruser\Desktop\asynciotest.py", line 41, in run_asyncio_commands results = loop.run_until_complete(commands) File "C:\Users\fredrik\condaenvs\dev_py36\lib\asyncio\base_events.py", line 466, in run_until_complete return future.result() File "C:\Users\iruser\Desktop\asynciotest.py", line 16, in run_command stdout=asyncio.subprocess.PIPE) File "C:\Users\fredrik\condaenvs\dev_py36\lib\asyncio\subprocess.py", line 225, in create_subprocess_exec stderr=stderr, **kwds) File "C:\Users\fredrik\condaenvs\dev_py36\lib\asyncio\base_events.py", line 1190, in subprocess_exec bufsize, **kwargs) File "C:\Users\fredrik\condaenvs\dev_py36\lib\asyncio\coroutines.py", line 210, in coro res = func(*args, **kw) File "C:\Users\fredrik\condaenvs\dev_py36\lib\asyncio\base_events.py", line 340, in _make_subprocess_transp ort raise NotImplementedError NotImplementedError This is what I substitute the Unix commands with on Windows: cmds = [['C:/Windows/system32/HOSTNAME.EXE']] Python and Windows version info: Python 3.6.1 | packaged by conda-forge | (default, May 23 2017, 14:21:39) [MSC v.1900 64 bit (AMD64)] on win32 Windows 10 Pro, version 1703, OS build 15063.413 Continue reading...