Я пытаюсь установить psycopg2 в Python virtualenv с pip
модулем Ansible , но мне нужно предварительно добавить запись в PATH для его правильной сборки (ему нужно знать путь к каталогу, в котором он находится pg_config
). Я вижу, что могу перейти environment
к pip
модулю, но я не уверен, как добавить, а не перезаписать PATH
.
Здесь я пытаюсь добавить путь к нужному каталогу, но он перезаписывает virtualenv PATH
и завершается ошибкой:
- pip:
name: psycopg2
virtualenv: /path/to/my/venv
environment:
PATH: /usr/pgsql-9.3/bin:$PATH
automation
ansible
Коллин Аллен
источник
источник
ansible_env.PATH
Вариант был , что мне нужно - работал отлично. Благодарность!~/bin
, используйтеPATH: "{{ansible_env.HOME}}/bin:{{ansible_env.PATH}}"
. Если вы вместо этого используетеPATH: "~/bin:{{ansible_env.PATH}}"
, то некоторые программы (например, Pythonshutil.which
) не смогут использовать этот компонент.ansible_env
относится к среде пользователя SSH, а не кsudo
среде.ansible_env.USER
следовательно, может привестиroot
к непривилегированному пользователю.