title: Ansible fails with /bin/sh: 1: /usr/bin/python: not found
body: <p>I'm running into an error I've never seen before. Here is the command and the error:</p>
  
  <pre><code>$ ansible-playbook create_api.yml
  
  PLAY [straw] ******************************************************************
  
  GATHERING FACTS ***************************************************************
  failed: [104.55.47.224] =&gt; {"failed": true, "parsed": false}
  /bin/sh: 1: /usr/bin/python: not found
  
  
  TASK: [typical | install required system packages] *****************************
  FATAL: no hosts matched or all hosts have already failed -- aborting
  
  
  PLAY RECAP ********************************************************************
             to retry, use: --limit @/Users/john/create_api.retry
  
  104.55.47.224               : ok=0    changed=0    unreachable=0    failed=1
  </code></pre>
  
  <p>Here is the create_api.yml file:</p>
  
  <pre><code>---
  
  - hosts: api
    remote_user: root
    roles:
      - api
  </code></pre>
  
  <p>And here is the hosts file:</p>
  
  <pre><code>[api]
  104.55.47.224
  </code></pre>
  
  <p>I can remove the roles section and it won't make it to the first TASK, it will instead make it will only make it to the line <code>/bin/sh: 1: /usr/bin/python: not found</code>. What could be going on here? </p>
  
  <hr>
  
  <p><em>NOTE:</em> In case anyone is pinging the IP address and failing to get a response, you should know I've changed the IP address since pasting code.</p>
  
  <p><strong>EDIT</strong>
  python was installed locally, the problem was that it was not installed on the remote machine, which was running Ubuntu 15.04</p>