2016-09-09 2 views
0

Мне нужно установить psycopg на старый python (2.4). Все работает отлично, за исключением установки переменных окружения -> LD_LIBRARY_PATH.Ansible playbook, заданные переменные среды не работают

- name: install psycopg 
    shell: "{{ item }}" 
    environment: 
     CPPFLAGS: "-I/my_python/lib/python2.4/site-packages/mx/DateTime/mxDateTime" 
     LD_LIBRARY_PATH: "/path_to_postgresql/lib" 
    args: 
    chdir: "/path_to_psycopg_src/" 
    with_items: 
    - ./configure --prefix=/my_python --with-python=/my_python/bin/python --with-postgres-libraries=/path_to_postgresql/lib --with-postgres-includes=/path_postgresql/include --with-mxdatetime-includes=/my_python/lib/python2.4/site-packages/mx/DateTime/mxDateTime 
    - make 
    - make install 

После успешной установки я получаю следующее сообщение об ошибке:

>>> import psycopg 
    ImportError: libpq.so.4: cannot open shared object file: No such file or directory 

Когда я экспортировать его вручную, он прекрасно работает:

export LD_LIBRARY_PATH="/path_postgresql/lib" 
>>> import psycopg 
>>> psycopg 
<module 'psycopg' from '/my_python/lib/python2.4/site-packages/psycopgmodule.so'> 

ответ

1

Потому что вы установили LD_LIBRARY_PATH только для install psycopg задачи. Если вы хотите установить переменную окружения не только для задачи/playbook, я думаю, вам нужно отредактировать /etc/environment

+0

Так что это невозможно в незанимаемой пьесе? – saromba

+0

Вы можете отредактировать/etc/environment в своей незанятой пьесе – Abdulafaja

+0

Моя проблема в том, что у меня нет прав на редактирование/etc/environment – saromba

Смежные вопросы