Próbuję zainstalować psycopg2 w Python virtualenv z modułem Ansible pip
, ale muszę przygotować wpis w PATH, aby mógł się poprawnie zbudować (musi znać ścieżkę do katalogu zawierającego pg_config
). Widzę, że mogę przejść environment
do pip
modułu, ale nie jestem pewien, jak dodać, a nie zastąpić PATH
.
Tutaj próbuję dodać ścieżkę do niezbędnego katalogu, ale zastępuje virtualenv PATH
i kończy się niepowodzeniem:
- pip:
name: psycopg2
virtualenv: /path/to/my/venv
environment:
PATH: /usr/pgsql-9.3/bin:$PATH
automation
ansible
Collin Allen
źródło
źródło
ansible_env.PATH
była opcja, której potrzebowałem - działała idealnie. Dzięki!~/bin
, użyjPATH: "{{ansible_env.HOME}}/bin:{{ansible_env.PATH}}"
. Jeśli zamiast tego użyjeszPATH: "~/bin:{{ansible_env.PATH}}"
, niektóre programy (takie jak Pythonshutil.which
) nie będą mogły korzystać z tego komponentu.ansible_env
odnosi się to do środowiska użytkownika SSH, a niesudo
środowiska.ansible_env.USER
może zatem skutkowaćroot
raczej nieuprzywilejowanym użytkownikiem.