2015-07-23 16 views
6

Sto cercando di utilizzare il modulo get_url per ansible e quando l'eseguo ottengo il seguente errore:Come si aggiunge httplib2 in ansible?

failed: [localhost] => (item=10) => {"failed": true, "item": "10"} 
msg: httplib2 is not installed 

Ora ho installato con successo httplib2 utilizzando pip:

pip install httplib2 
Requirement already satisfied (use --upgrade to upgrade): httplib2 in /usr/local/lib/python2.7/site-packages 

Ma, ovviamente, che hasn ho aiutato la situazione Posso vedere che ansible sta usando un diverso PYTHON_PATH rispetto al sistema operativo (dove è installato httplib2) ma non riesco a capire come installare un httplib2 in quel percorso (oltre a copiarlo che non è bello).

Qualsiasi aiuto notevolmente apprezzato.

+0

Perché non usi semplicemente ftplib? – FirebladeDan

+0

Ho risolto questo problema scrivendo un modulo Python e chiamandolo. Non riuscivo a farlo funzionare in modo nativo in python. Sospetto che sia stato uno scontro con le librerie Python ma non ho potuto risolverlo. –

risposta

0
  • Scopri come è stato installato Ansible e dove si trova l'installazione di Python che Ansible sta utilizzando. Esplora il tuo hard disk con il tuo file manager.

  • Utilizzare il comando pip da questa particolare installazione Python (di solito nella directory bin) per installare . In questo modo, httplib2 termina con l'installazione corretta di Python.

Inoltre per scoprire cosa Python comando Ansible sta usando do:

which ansible 

vi mostra il percorso completo del file eseguibile ansible. E poi:

head /where/is/my/ansible/command 

Esso si stampa l'intestazione script che dovrebbe includere il percorso completo python comando.

+0

Ho già usato pip per installare httplib2 e ansible sta usando la copia del sistema operativo di python. Sembra che stia usando un diverso PYTHONPATH, ma non riesco a capire come ottenere un'aspirazione per capirlo. –

+0

Si prega di consultare l'aggiornamento. –

+0

che ansible /usr/local/bin/ansible –

1

Mi sono imbattuto in questo problema su uno dei miei Mac (stavo passando tra un'installazione Homebrew Python e l'installazione di sistema di recente, quindi qualcosa era comunque funky) e quello che ha finito per risolverlo, almeno per una particolare sessione , stava iniziando una sessione interattiva di Python sulla CLI e l'importazione della biblioteca:

$ python 
>>> import httplib2 
>>> exit() 
$ [continue what you were doing with ansible...] 
1

Se questo è un errore ansible-playbook, è possibile eseguire un comando pip per installare il manufatto httplib2. Prova a eseguire prima la seguente attività:

 tasks: 
     - name: pip httplib2 
      # ansible uri module requires httplib2 
      pip: name=httplib2 extra_args="--user" 
Problemi correlati