Ansible-role-postgresql: O módulo psycopg2 é necessário (módulo presente)

Criado em 27 jul. 2018  ·  6Comentários  ·  Fonte: geerlingguy/ansible-role-postgresql

  1. lista de pip mostra psycopg2 (2.7.5)
  2. yum mostra este pacote python-psycopg2-2.7.5-1.rhel7.x86_64 já instalado e a versão mais recente
    2a: python --version: Python 2.7.5
  3. Ansible yml tem isto:
  roles:
    - role: ansible-role-postgresql
      become: yes
      postgresql_enablerepo: "pgdg96"
      postgresql_restarted_state: "restarted"
      postgresql_python_library: python-psycopg2
      postgresql_bin_path: /usr/pgsql-9.6/bin
      postgresql_daemon: postgresql-9.6.service 
  1. O erro lançado é este:

TASK [ansible-role-postgresql : Ensure PostgreSQL databases are present.] **************************************************************************** failed: [clpaxd-iwh01.na.ad.rrd.com] (item={u'owner': u'manifold', u'login_user': u'manifold', u'name': u'manifoldcf', u'login_password': u'manifold'}) => {"changed": false, "item": {"login_password": "manifold", "login_user": "manifold", "name": "manifoldcf", "owner": "manifold"}, "msg": "the python psycopg2 module is required"}
Ambiente:

  1. Centos 7
  2. Python 2.7.5
  3. ansible 2.7.0.dev0 (stable-2.6 28d0a173db) última atualização 2018/06/25 12:12:39 (GMT -500)

Alguma ideia de como consertar isso?

stale

Comentários muito úteis

Eu já tinha o python3-psycopg2 instalado, mas ainda falhou com;
postgresql_python_library: python3-psycopg2

Então, eu adicionei o seguinte ao meu manual;
ansible_python_interpreter: / usr / bin / python3

Parece que por padrão ele apenas usou / usr / bin / python

No debian 10;
/ usr / bin / python --version
Python 2.7.16

Todos 6 comentários

tente com pip install -U --no-cache-dir --force psycopg2

Este bug é um pouco chato de descobrir, já que no_log está sendo usado nos casos em que surge, por exemplo, na criação de usuários, obscurecendo o problema real.

Eu pessoalmente consertei usando package para instalar python3-psycopg2 antes que a função Postgres seja importada.

Tópico antigo (mas aberto) mesmo problema aqui no Ubuntu. remover no_log me deu a mensagem de erro de pacote ausente. Após a instalação manual do psycopg2, a tarefa para os usuários está funcionando. Uma etapa extra para instalar o pacote Python necessário deve resolver o problema.

Eu já tinha o python3-psycopg2 instalado, mas ainda falhou com;
postgresql_python_library: python3-psycopg2

Então, eu adicionei o seguinte ao meu manual;
ansible_python_interpreter: / usr / bin / python3

Parece que por padrão ele apenas usou / usr / bin / python

No debian 10;
/ usr / bin / python --version
Python 2.7.16

Este problema foi marcado como 'obsoleto' devido à falta de atividade recente. Caso não haja mais atividades, a emissão será encerrada em mais 30 dias. Obrigado pela sua contribuição!

Leia esta postagem do blog para ver os motivos pelos quais eu marco os problemas como obsoletos.

Este problema foi resolvido devido à inatividade. Se você acha que isso é um erro, reabra o problema ou registre um novo problema com os detalhes relevantes.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

breml picture breml  ·  9Comentários

FilBot3 picture FilBot3  ·  18Comentários

GoodBoy962 picture GoodBoy962  ·  10Comentários

worldofchris picture worldofchris  ·  8Comentários

NiftyMist picture NiftyMist  ·  5Comentários