Saya mencoba untuk menginstal psycopg2 ke dalam virtualenv Python dengan pip
modul Ansible , tapi saya perlu menambahkan entri ke PATH agar dapat dibangun dengan benar (perlu mengetahui path ke direktori yang berisi pg_config
). Saya melihat bahwa saya bisa lulus environment
ke pip
modul, tapi saya tidak yakin bagaimana untuk menambahkan bukan menimpa PATH
.
Di sini saya mencoba untuk menambahkan path dengan direktori yang diperlukan, tetapi menimpa virtualenv PATH
dan gagal:
- pip:
name: psycopg2
virtualenv: /path/to/my/venv
environment:
PATH: /usr/pgsql-9.3/bin:$PATH
sumber
ansible_env.PATH
pilihan adalah apa yang saya butuhkan - bekerja dengan sempurna. Terima kasih!~/bin
, gunakanPATH: "{{ansible_env.HOME}}/bin:{{ansible_env.PATH}}"
. Jika Anda menggunakannyaPATH: "~/bin:{{ansible_env.PATH}}"
, maka beberapa program (seperti Pythonshutil.which
) tidak dapat menggunakan komponen itu.ansible_env
merujuk pada lingkungan pengguna SSH, bukansudo
lingkungan.ansible_env.USER
Oleh karena itu dapat menghasilkanroot
pengguna yang tidak berprivasi.