Answers: <p>Found the origin of the issue, and unless someone else had run into it they wouldn't have known where to look --</p>
  <p>check details of <code>tower-cli --version</code> and <code>ansible --version</code>, as well as <code>which tower-cli</code> <code>which ansible</code>;  in my case were installed in <em>different</em> python environments:</p>
  <blockquote>
  <p>/usr/lib/python<strong>2.6</strong>/site-packages/ansible</p>
  <p>/usr/lib/python<strong>3.4</strong>/site-packages/tower_cli</p>
  </blockquote>
  <p>If you cannot see the python version using the above for tower-cli, you can run:</p>
  <pre><code>$ head -n1 `which tower-cli`
  #!/usr/local/opt/python/bin/python3.7
  $ 
  </code></pre>
  <p>The ansible modules couldn't see the tower_cli python modules as they were in a different python environment.</p>
  <p>After-the-fact problem origin:  I had installed <strong><code>ansible</code> via <code>yum</code></strong> (package manager), and <strong><code>ansible-tower-cli</code> via <code>pip</code></strong> (python installer).  Being consistent in how you install both to make sure they go to the same environment resolves the issue.</p>
  <p><em>Centos/RHEL</em>: <code>yum install ansible ansible-tower-cli</code></p>
  <p>-OR-</p>
  <p><em>Python</em>:  <code>pip install ansible</code></p>
  <p><em>Python</em>:  <code>pip install ansible-tower-cli</code></p>
  
Answers: CC BY-SA 4.0
Answers: 2018-06-01T21:27:02.510Z
Answers: 2019-05-28T22:59:29.613Z
Answers: 2020-06-18T08:28:10.803Z
Answers: dhartford
Body: <p>I have a control host that has the following:</p>
  
  <ul>
  <li>ansible --version = 2.5.2</li>
  <li>tower-cli --version == 3.3.0</li>
  </ul>
  
  <p>tower-cli is able to connect to a remote Ansible Tower instance (note, Ansible tower itself is not installed on this control host).  Can run 'tower-cli user list' on control host and works as expected.</p>
  
  <p>However, when I try to use a playbook with the tower_* modules, such as:</p>
  
  <pre><code>  tasks:
    - name: create the SCM project
      tower_project:
        name: "test project"
        state: present
        ...
  </code></pre>
  
  <p>Always getting the following:</p>
  
  <blockquote>
    <p>ansible-tower-cli required for this module</p>
  </blockquote>
  
  <p>Any ideas, as I can use tower-cli just fine on this localhost that is running the playbook.</p>
  
Tags: <ansible>
Title: ansible tower_project module, always getting "ansible-tower-cli required for this module"
UserDisplayName: dhartford
ThreadText: # ansible tower_project module, always getting "ansible-tower-cli required for this module"
  
  (Asked by: username_0 on 2018-06-01)
  
  I have a control host that has the following:
  
  * ansible --version = 2.5.2
  * tower-cli --version == 3.3.0
  
  tower-cli is able to connect to a remote Ansible Tower instance (note, Ansible tower itself is not installed on this control host). Can run 'tower-cli user list' on control host and works as expected.
  
  However, when I try to use a playbook with the tower\_\* modules, such as:
  
  ```
    tasks:
    - name: create the SCM project
      tower_project:
        name: "test project"
        state: present
        ...
  
  ```
  
  Always getting the following:
  
  > ansible-tower-cli required for this module
  
  Any ideas, as I can use tower-cli just fine on this localhost that is running the playbook.
  
  **Tags:** ansible
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2018-06-01. Score: 2 | Accepted answer
  
  Found the origin of the issue, and unless someone else had run into it they wouldn't have known where to look --
  
  check details of `tower-cli --version` and `ansible --version`, as well as `which tower-cli` `which ansible`; in my case were installed in *different* python environments:
  
  > /usr/lib/python**2.6**/site-packages/ansible
  >
  > /usr/lib/python**3.4**/site-packages/tower\_cli
  
  If you cannot see the python version using the above for tower-cli, you can run:
  
  ```
  $ head -n1 `which tower-cli`
  #!/usr/local/opt/python/bin/python3.7
  $ 
  
  ```
  
  The ansible modules couldn't see the tower\_cli python modules as they were in a different python environment.
  
  After-the-fact problem origin: I had installed **`ansible` via `yum`** (package manager), and **`ansible-tower-cli` via `pip`** (python installer). Being consistent in how you install both to make sure they go to the same environment resolves the issue.
  
  *Centos/RHEL*: `yum install ansible ansible-tower-cli`
  
  -OR-
  
  *Python*: `pip install ansible`
  
  *Python*: `pip install ansible-tower-cli`
  
  
  ---
  
  