Instalación de PIP de un fallo de commit de git específico a través de Playbook de Ansible

En este ejemplo, Django-cities falla.

- hosts: localhost tasks: - name: Install Django pip: name=Django - name: Install Userena pip: name=django-userena - name: Install Django Messages pip: name=https://github.com/arneb/django-messages/archive/master.zip - name: Install Django Cities pip: name=git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6 

error:

 TASK [Install Django Cities] *************************************************** fatal: [localhost]: FAILED! => {"changed": false, "cmd": "/usr/bin/pip2 install -e git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6", "failed": true, "msg": "\n:stderr: --editable=git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6 is not the right format; it must have #egg=Package\nYou are using pip version 8.1.2, however version 9.0.1 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\n"} to retry, use: --limit @/root/cannablr/ansible/playbooks/installdjango.retry 

¿La installation de un git commit vía pip no está permitida en Ansible?

Obtendrá el mismo error si ejecuta esto en la command-line:

 $ pip install -e git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6 --editable=git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6 is not the right format; it must have #egg=Package 

Puede agregarle un #egg=packagename y funcionará:

 $ pip install -e git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6#egg=django-cities Obtaining django-cities from git+https://github.com/coderholic/django-cities.git@d0163f393e7557914b3f2c6882e740537ca63fd6#egg=django-cities Cloning https://github.com/coderholic/django-cities.git (to d0163f393e7557914b3f2c6882e740537ca63fd6) to src/django-cities 

Así que solo agrega #egg=django-cities a la URL en Ansible y estarás bien.

Nota: recomendaría citar su git+https://....#egg=xyz yaml. Hay muchos personajes mágicos allí.