web-dev-qa-db-fra.com

django.core.exceptions.ImproperlyConfigured: Erreur lors du chargement du module psycopg: aucun module nommé psycopg

Actuellement, j'essaie de configurer Django pour une utilisation sur un projet, et je rencontre une erreur persistante lorsque j'essaie d'exécuter python manage.py syncdb.

File "/x/x/x/x/x/x/base.py", line 23, in ?
    raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
Django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No module named psycopg

Les autres discussions sur un problème similaire que j'ai trouvé ici et sur d'autres sites ont finalement été résolues par l'utilisateur qui télécharge et installe psycopg, mais à moins que je manque quelque chose de critique, je l'ai fait plusieurs fois. J'ai téléchargé l'archive tar, je l'ai déballée sur mon serveur, j'ai exécuté python setup.py build et python setup.py install avec un --prefix le dirigeant vers mon existant Python Chemin ... Je peux aller naviguer dans le dossier et voir les différents fichiers psycopg, mais pour une raison quelconque, quand j'essaie de obtenir mon nouveau projet à synchroniser avec la base de données, il ne peut pas trouver psycopg et, par conséquent, ne parlera pas à la base de données.

Notes: compte hostmonster.com, ont essayé plusieurs versions de psycopg2.

37
user968270

J'ai aussi eu l'erreur; bien que psycopg2 a été installé sur mon système à l'aide de apt-get, mon virtualenv n'a pas pu le trouver:

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2

Il a été corrigé en faisant un pip install psycopg2-binary à l'intérieur du virtualenv (ou pip install psycopg2 pour les versions <2.8 psycopg2).

37
SaeX

Essayez d'utiliser ceci:

Sudo apt-get install python-psycopg2
9
Stone

J'ai eu ce problème sur un virtualenv dans Ubuntu 18.4. Je l'ai résolu en installant psycopg2 v2.7.4:

pip install psycopg2==2.7.4
8
Heron Rossi

Vous essayez de charger psycopg, pas psycopg2. Assurez-vous que ENGINE est défini sur Django.db.backends.postgresql_psycopg2 dans le settings.py de votre projet:

'ENGINE': 'Django.db.backends.postgresql_psycopg2'

Le problème peut être: la version 32 bits de Python ne peut pas charger une version 64 bits de psycopg2.

6
sergzach

Je recevais également une erreur similaire, cela signifie simplement qu'il est incapable de trouver le package/module "psycopg2". Je l'ai résolu simplement en l'installant dans mon environnement à l'aide de la commande:

pip install psycopg2

3
Mohit S

J'ai eu ce problème dans un environnement virtuel python (virtualenv), la copie de la bibliothèque dans le package de site de l'environnement à partir des packages de site système a résolu le problème.

3
tjb

Premier:

pip uninstall psycopg2

Ensuite, chargez le fichier direct depuis http://www.stickpeople.com/projects/python/win-psycopg/

file name : = psycopg2-2.6.2.win-AMD64-py2.7-pg9.5.3-release.exe

Selon vos besoins, puis copiez ce fichier téléchargé dans le dossier env et procédez comme suit:

easy_install psycopg2-2.6.2.win-AMD64-py2.7-pg9.5.3-release.exe(your file name)

Cela copiera les fichiers requis.

1
Dev Jalla

ERREUR: impossible d'installer les packages en raison d'une erreur d'environnement: [Errno 13] Autorisation refusée: '/usr/local/lib/python3.7/dist-packages/psycopg2' Pensez à utiliser le --user option ou vérifiez les autorisations.

si l'erreur ci-dessus apparaît alors, essayez d'installer avec:

pip install psycopg2-binary --user

Ensuite, cela fonctionne enfin. Il n'est pas nécessaire d'éditer sur DATABASE ENGINE.

0
N.Neupane

Cela peut arriver si vous n'avez pas psycopg2 déjà installé.

J'ai eu ce problème avec virtualenv, j'ai simplement installé psycopg2 et ça marche bien. Pas besoin d'éditer les configurations db.

pip install psycopg2

0
Sandeep Chauhan