Actuellement, j'installe psycopg2 pour travailler dans Eclipse avec python.
Je trouve beaucoup de problèmes:
Sudo pip3.4 install psycopg2
ne fonctionne pas et affiche le message suivantErreur: exécutable pg_config introuvable.
FIXE AVEC: export PATH=/Library/PostgreSQL/9.4/bin/:"$PATH”
ImportError: dlopen (/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so Library libssl.1.0.0.dylib Library libcrypto.1.0.0.dylib
FIXE AVEC: Sudo ln -s /Library/PostgreSQL/9.4/lib/libssl.1.0.0.dylib /usr/lib Sudo ln -s /Library/PostgreSQL/9.4/lib/libcrypto.1.0.0.dylib /usr/lib
ImportError: dlopen (/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so, 2): Symbole introuvable: _lo_lseek64 Référencé depuis:/Library/Frameworks/Python .framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so Attendu dans: /usr/lib/libpq.5.dylib dans /Library/Frameworks/Python.framework/Versions/3.4/lib /python3.4/site-packages/psycopg2/_psycopg.so
Pouvez-vous m'aider?
Vous devez remplacer la bibliothèque /usr/lib/libpq.5.dylib car sa version est trop ancienne.
Voici ma solution à ce problème:
$ Sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old
$ Sudo ln -s /Library/PostgreSQL/9.4/lib/libpq.5.dylib /usr/lib
Si vous utilisez PostgresApp, vous devez exécuter les deux commandes suivantes:
Sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old
Sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib
Voici un correctif qui a fonctionné pour moi sur El Capitan qui ne nécessite pas de redémarrage pour contourner la protection de l'intégrité du système (SIP) OS X El Capitan:
brew unlink postgresql && brew link postgresql
brew link --overwrite postgresql
J'utilise yosemite, postgres.app & Django. cela m'a permis de charger correctement psycopg2, mais la seule différence était que mon libpq.5.dylib
le fichier est dans /Applications/Postgres.app/Contents/Versions/9.4/lib
.
donc ma deuxième ligne était Sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib
Pour ceux d'entre vous sur El Capitan qui ne peuvent pas utiliser la réponse de @ KungFuLucky7 - j'ai utilisé ce qui suit pour résoudre le problème (ajustez les chemins pour qu'ils correspondent aux vôtres si nécessaire).
Sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.5/lib/libpq.5.dylib /usr/local/lib/python2.7/site-packages/psycopg2/_psycopg.so
Dans El Capitan, j'ai utilisé la même solution que @Forbze mais 2 commandes supplémentaires comme suit.
Sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.3/lib/libpq.5.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Sudo install_name_tool -change libssl.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libssl.1.0.0.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Sudo install_name_tool -change libcrypto.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libcrypto.1.0.0.dylib /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Ça marche parfaitement!
eh bien, je voudrais donner ma solution, le problème est lié à la version de c. Donc, je viens de taper:
CFLAGS='-std=c99' pip install psycopg2==2.6.1