137 votes

ImportError : Aucun module nommé psycopg2

Dans le processus d'installation d'OpenERP 6, je veux générer un fichier de configuration avec ces commandes :

cd /home/openerp/openerp-server/bin/

./openerp-server.py -s --stop-after-init -c /home/openerp/openerp-server.cfg

Mais il a toujours montré le message : ImportError: No module named psycopg2

Quand j'ai vérifié le paquet psycopg2, il est déjà installé. Paquet python-psycopg2-2.4.5-1.rhel5.x86_64 est déjà installé dans sa dernière version. Rien à faire. Quel est le problème ? Mon serveur est CentOS, j'ai installé Python 2.6.7.

12voto

riskdoctor Points 11

Erreur d'importation sur Mac OS

Si psycopg2 est installé mais vous ne parvenez pas à l'importer dans votre site web. .py alors le problème est libpq ses liens, et la bibliothèque openssl sur lequel libpq dépend de. Les étapes générales sont reproduites ci-dessous. Vous pouvez les vérifier étape par étape pour savoir quelle est la source d'erreur pour vous et ensuite vous pouvez résoudre le problème à partir de là.

  • Vérifiez l'installation du openssl et s'assurer qu'il fonctionne.

  • Vérifiez l'installation de libpq dans votre système, il peut ne pas avoir été installé ou ne pas être lié. S'il n'est pas installé, installez-le en utilisant la commande brew install libpq . Ceci installe la bibliothèque libpq. Selon la documentation

libpq est l'interface du programmeur d'applications C avec PostgreSQL. libpq est un ensemble de fonctions de bibliothèque qui permettent aux programmes clients de transmettre des requêtes au serveur dorsal PostgreSQL et de recevoir les résultats de ces requêtes.

  • Lier libpq en utilisant brew link libpq Si cela ne fonctionne pas, utilisez la commande : brew link libpq --force .

  • Mettez également dans votre .zshrc le fichier suivant
    export PATH="/usr/local/opt/libpq/bin:$PATH" . Cela crée tous les liens nécessaires pour libpq bibliothèque .

  • Maintenant, redémarrez le terminal ou utilisez la commande suivante source ~/.zshrc .

  • Utilisez maintenant la commande pip install psycopg2 . Cela fonctionnera. Cela fonctionne, même lorsque vous travaillez dans l'environnement Conda.

    N.B. pip install psycopg2-binary doit être évitée car selon les développeurs de la bibliothèque psycopg2

L'utilisation des paquets -binary en production est déconseillée car, dans le passé, ils se sont avérés peu fiables dans les environnements multithread. Ce problème a peut-être été corrigé dans des versions plus récentes, mais je n'ai jamais réussi à le reproduire.

10voto

Cp Verma Points 247

Essayez avec ça :

virtualenv -p /usr/bin/python3 test_env
source test_env/bin/activate
pip install psycopg2

lancez python et essayez d'importer si vous insistez pour l'installer sur vos systèmes python try :

pip3 install psycopg2

6voto

Surya Bista Points 321
sudo pip install psycopg2-binary

5voto

Aquarius Points 81

J'ai récemment rencontré ce problème sur mon serveur de production. J'avais installé pyscopg2 en utilisant

sudo pip install psycopg2

Il a fonctionné à merveille sur mon local, mais m'a fait courir sur mon serveur ec2.

sudo python -m pip install psycopg2

La commande ci-dessus a fonctionné pour moi. Je poste ici juste au cas où cela pourrait aider quelqu'un à l'avenir.

4voto

Nicole Douglas Points 401

Pour python3 sur ubuntu, cela a fonctionné pour moi :

$sudo apt-get update
$sudo apt-get install libpq-dev
$sudo pip3 install psycopg2-binary

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X