psycopg2: AttributeError: o objeto 'módulo' não tem atributo 'extras'

86

No meu código eu uso o DictCursorfrom psycopg2.extrasassim

dict_cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)

No entanto, de repente, recebo o seguinte erro ao carregar o cursor:

AttributeError: 'module' object has no attribute 'extras'

Talvez algo esteja errado na minha instalação, mas não tenho ideia de por onde começar a procurar. Fiz algumas atualizações com pip, mas até onde eu sei não há dependências de psycopg2.

n1000
fonte

Respostas:

145

Você precisa importar explicitamente psycopg2.extras:

import psycopg2.extras
Todos os trabalhadores são essenciais
fonte
Em julho de 2020, a importação psycopg2.extras
funcionou
6

Desde julho de 2018, o import psycopg2.extrasnão funciona para mim. O seguinte funciona para mim:

pip install psycopg2-binary

e depois:

>>> import psycopg2.errorcodes
>>> psycopg2.errorcodes.UNIQUE_VIOLATION
'23505'
Bartłomiej Szałach
fonte