Estoy intentando instalar psycopg2 en un Python virtualenv con el pip
módulo de Ansible , pero necesito anteponer una entrada a PATH para que se compile correctamente (necesita conocer la ruta al directorio que contiene pg_config
). Veo que puedo pasar environment
al pip
módulo, pero no estoy seguro de cómo anteponer en lugar de sobrescribir PATH
.
Aquí intento anteponer la ruta con el directorio necesario, pero sobrescribe virtualenv PATH
y falla:
- pip:
name: psycopg2
virtualenv: /path/to/my/venv
environment:
PATH: /usr/pgsql-9.3/bin:$PATH
automation
ansible
Collin Allen
fuente
fuente
ansible_env.PATH
opción era lo que necesitaba: funcionaba perfectamente. ¡Gracias!~/bin
, usePATH: "{{ansible_env.HOME}}/bin:{{ansible_env.PATH}}"
. Si en su lugar lo usaPATH: "~/bin:{{ansible_env.PATH}}"
, algunos programas (como Pythonshutil.which
) no pueden usar ese componente.ansible_env
refiere al entorno del usuario SSH, no alsudo
entorno.ansible_env.USER
por lo tanto, puede darroot
lugar a un usuario no privilegiado.