Estoy intentando instalar psycopg2 en un Python virtualenv con el pipmó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 environmental pipmó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 PATHy 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.PATHopció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_envrefiere al entorno del usuario SSH, no alsudoentorno.ansible_env.USERpor lo tanto, puede darrootlugar a un usuario no privilegiado.