web-dev-qa-db-fra.com

psycopg2: AttributeError: l'objet 'module' n'a pas d'attribut 'extras'

Dans mon code, j'utilise le DictCursor de psycopg2.extras comme ça

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

Cependant, tout à coup, j'obtiens l'erreur suivante lorsque je charge le curseur:

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

Peut-être que quelque chose se passe dans mon installation, mais je ne sais pas par où commencer. J'ai fait quelques mises à jour avec pip, mais pour autant que je sache, aucune dépendance de psycopg2.

67
n1000

Vous devez importer explicitement psycopg2.extras:

import psycopg2.extras
107
cpburnz

Depuis juillet 2018, le import psycopg2.extras ne fonctionne pas pour moi. Ce qui suit fonctionne pour moi:

pip install psycopg2-binary

et ensuite:

>>> import psycopg2.errorcodes
>>> psycopg2.errorcodes.UNIQUE_VIOLATION
'23505'
4