title: asyncio create_subprocess_shell python 3.7 on windows
body: <p>I'm trying to test some asyncio functionality on Windows. I'm using Python 3.7.</p>
  
  <p>This complains bitterly about some NotImplementedError</p>
  
  <pre><code>import asyncio
  import os
  import time
  import sys
  
  #this works
  async def say_after(delay, what):
      await asyncio.sleep(delay)
      print(what)
  
  #this doesn't
  async def test_async(num):
      print('Task #{0} start'.format(num))
  
      proc = await asyncio.create_subprocess_shell(
          'C:/Python37/python test_repl.py',
          stdout=asyncio.subprocess.PIPE,
          stderr=asyncio.subprocess.PIPE,
          stdin=asyncio.subprocess.PIPE )
  
      stdout, stderr = await proc.communicate("sleep 10")
      cmd = 'python'
      print(f'[{cmd!r} exited with {proc.returncode}]')
      if stdout:
          print(f'[stdout]\n{stdout.decode()}')
      if stderr:
          print(f'[stderr]\n{stderr.decode()}')
  
  async def test_loop():
      task1 = asyncio.create_task(
          test_async(1))
  
      task2 = asyncio.create_task(
          test_async(2))
  
      print(f"started at {time.strftime('%X')}")
  
      await task1
      await task2
  
      print(f"finished at {time.strftime('%X')}")
  
  loop = asyncio.ProactorEventLoop()
  asyncio.set_event_loop(loop)
  asyncio.run(test_loop())
  </code></pre>
  
  <p>I've tried several loop types (Protractor and Default). I've tried different functions through the shell and directly invoking the program (_shell and _exec in the subprocess lingo). Nothing seems to work. For a much hype I've read about asyncio, it can't possibly be a Linux only thing. I must be doing something wrong. Can you please point me in the right direction.</p>
  
  <p>The specific error I get is the following:</p>
  
  <pre><code>--------------Async--------------------
  started at 22:39:55
  Task #1 start
  Task #2 start
  Traceback (most recent call last):
    File "multirun.py", line 45, in &lt;module&gt;
      asyncio.run(test_loop())
    File "C:\Python37\lib\asyncio\runners.py", line 43, in run
      return loop.run_until_complete(main)
    File "C:\Python37\lib\asyncio\base_events.py", line 568, in run_until_complete
      return future.result()
    File "multirun.py", line 38, in test_loop
      await task1
    File "multirun.py", line 20, in test_async
      stdin=asyncio.subprocess.PIPE)
    File "C:\Python37\lib\asyncio\subprocess.py", line 202, in create_subprocess_shell
      stderr=stderr, **kwds)
    File "C:\Python37\lib\asyncio\base_events.py", line 1486, in subprocess_shell
      protocol, cmd, True, stdin, stdout, stderr, bufsize, **kwargs)
    File "C:\Python37\lib\asyncio\base_events.py", line 444, in _make_subprocess_transport
      raise NotImplementedError
  NotImplementedError
  Task exception was never retrieved
  future: &lt;Task finished coro=&lt;test_async() done, defined at multirun.py:12&gt; exception=NotImplementedError()&gt;
  Traceback (most recent call last):
    File "multirun.py", line 20, in test_async
      stdin=asyncio.subprocess.PIPE)
    File "C:\Python37\lib\asyncio\subprocess.py", line 202, in create_subprocess_shell
      stderr=stderr, **kwds)
    File "C:\Python37\lib\asyncio\base_events.py", line 1486, in subprocess_shell
      protocol, cmd, True, stdin, stdout, stderr, bufsize, **kwargs)
    File "C:\Python37\lib\asyncio\base_events.py", line 444, in _make_subprocess_transport
      raise NotImplementedError
  NotImplementedError
  </code></pre>
  
  <p>Also, I got the same error when trying to run the notepad.</p>