PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

erreur d'installation de python pip psycopg2

La réponse acceptée ici est correcte (sauf que je pense que ce doit être ln -fs , en fait je pense que cela pourrait même risquer de déstabiliser votre système d'exploitation sinon (?)). Après avoir rencontré ce problème et l'avoir traité, je souhaite simplement collecter la solution complète pour ce problème et l'autre problème de bibliothèque (libcrypto.1.0.0.dylib) que vous rencontrerez pour Postgres 9. * sur Mountain Lion et Snow Leopard, et peut-être d'autres systèmes. Cela m'a également empêché d'exécuter psql, qui se plaignait des deux mêmes bibliothèques.

Essentiellement, il y a deux bibliothèques de version ultérieure nécessaires dans /usr/lib , libssl et libcrypto. Vous pouvez trouver les versions nécessaires de ces bibliothèques dans le répertoire Postgres lib.

  • Si vous êtes sous OSX et que vous avez installé la version Enterprise DB de Postgres, ce sera dans /Library/PostgreSQL/9.2/lib .
  • Pour les autres types d'installation de Postgres, recherchez le répertoire lib dans le répertoire d'installation de Postgress, par exemple, pour Postgress.app, recherchez le répertoire lib dans /Applications/Postgres.app/Contents/MacOS/lib ,
  • pour infuser quelque part dans /usr/local/Cellar ,
  • sur *nix, où que se trouve votre installation. Mais voyez d'abord sur *nix si votre distribution a des versions ultérieures uniquement via le gestionnaire de packages.

Copiez d'abord la dernière de ces deux bibliothèques du répertoire Postgres lib vers /usr/lib :

sudo cp /Library/PostgreSQL/9.2/lib/libssl.1.0.0.dylib /usr/lib
sudo cp /Library/PostgreSQL/9.2/lib/libcrypto.1.0.0.dylib /usr/lib

Ensuite, mettez à jour (ou créez) les liens symboliques /usr/lib pour ces bibliothèques. Dans tous les cas, la commande est ln -fs :

sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib

Devrait être corrigé. À peu près sûr que ln -fs est mieux que de supprimer le lien symbolique et de le recréer, il y a donc moins de chances que libssl soit introuvable par quelque chose qui en a besoin pendant le temps qu'il n'est pas présent (il fait la même chose; il supprime d'abord le lien symbolique s'il est déjà là, juste plus vite que vous ne pouvez le taper). Méfiez-vous toujours de déconner avec /usr/lib.