psycopg2: AttributeError: el objeto 'módulo' no tiene atributos 'extras'

86

En mi código uso el DictCursorde psycopg2.extrasasí

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

Sin embargo, de repente aparece el siguiente error cuando cargo el cursor:

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

Tal vez algo esté loco en mi instalación, pero no tengo ni idea de por dónde empezar a buscar. Hice algunas actualizaciones con pip, pero que yo sepa no hay dependencias de psycopg2.

n1000
fuente

Respuestas:

145

Necesita importar explícitamente psycopg2.extras:

import psycopg2.extras
Todos los trabajadores son esenciales
fuente
A partir de julio de 2020, la importación psycopg2.extras funciona para mí
Amir Samakar
6

A partir de julio de 2018, import psycopg2.extrasno me funciona. Lo siguiente funciona para mí:

pip install psycopg2-binary

y después:

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