psycopg2 Fehler bei der installation - Bibliothek nicht geladen werden: libssl.dylib
Ich versuche zu installieren psycopg2
in einem virtualenv verwenden pip
die Zusammenstellung sieht ok, es sagt "Erfolgreich installiert psycopg2", aber wenn ich versuche zu importieren, es in den python-interpreter (im virtualenv), es gibt Fehler:
File "<stdin>", line 1, in <module>
File "/Users/me/sites/env/trackmap/lib/python2.7/site-packages/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Users/me/sites/env/trackmap/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: libssl.dylib
Referenced from: /Users/me/sites/env/trackmap/lib/python2.7/site-packages/psycopg2/_psycopg.so
Reason: Incompatible library version: _psycopg.so requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8
Die Sache ist die, ich installieren Sie es erfolgreich mit pip
in meinen anderen virtuellen env vor, wie vor einigen Wochen, und es funktioniert mit der postgresql
auf meinem mac. Ich Frage mich, ob dies ein problem der compiler? Ich sah einige Warnungen wie shortens from 64-bit to 32-bit
während der installation von psycopg2. Mein compiler ist i686-apple-darwin11-llvm-gcc-4.2
standardmäßig auf mac os x lion.
Sehe ich mehrere Beiträge mit Bezug zu psycopg2
installieren, aber die meisten von Ihnen sind gelöst durch die Installation in einer virtuellen env. Also...könnte mir jemand ein Vorschlag? Danke!!! Wirklich geschätzt.
p.s. Wenn Sie die Zusammenstellung log von der Installation psycopg2 bitte lassen Sie mich wissen, ich habe nicht fügen Sie es hier, weil es zu lang ist.
InformationsquelleAutor der Frage Yulong | 2012-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tritt der Fehler sagen
libssl.dylib
- version zu alt ist?Auf meinem mac, der Fehler ist, dass
libssl.dylib
undlibcrypto.dylib
ist zu alt für pyscopg zu verwenden. Dieopenssl
- Paket von mac-0,98, während pyscopg muss 1.0.0 oder höher version.Meine Lösung ist diese:
installieren Sie openssl von brew
kopieren
libssl.1.0.0.dylib
undlibcrypto.1.0.0.dylib
aus/usr/local/Cellar/openssl/1.0.1c
zu/usr/lib/
in
/usr/lib
Verzeichnis, einen Linklibssl.dylib
undlibcrypto.dylib
. Sie müssen möglicherweise entfernen Sie den vorhandenen links.InformationsquelleAutor der Antwort ming.kernel
Hatte ich ein ähnliches Problem. Ich hatte mich für Anaconda installieren python und eine Anzahl von Paketen und dann später verwendet, pip zu installieren psycopg2. Ich war in der Lage, den Fehler zu beheben durch deinstallation psycopg2 und es neu installiert mit dem conda-Paket-manager anstelle von pip.
InformationsquelleAutor der Antwort ansonw
Unter OS x 10.11+ (El Capitan oder später) Lösung mit symlinks ersetzen (siehe oben https://stackoverflow.com/a/11911870/565525)
sudo rm libssl.dylib libcrypto.dylib
BerichteOperation not permitted
. Lösung, die für mich gearbeitet wurde:Finden, wo openssl brauen libs befinden, starten Sie die Suche aus dem Verzeichnis
/usr/local/Cellar/openssl
. In meinem Fall ist es in/usr/local/Cellar/openssl/1.0.2d_1/lib
Endlich DYLD_LIBRARY_PATH, d.h. eine Zeile wie die folgende in .bash_profile :
shell neu starten, oder einfach nur
source ~/.bash_profile
und testen, ob es funktioniert:InformationsquelleAutor der Antwort Robert Lujo
Dank @khrf für deine Antwort.
Wenn Sie den postgres-system installer (statt Postgres.app), verwenden Sie:
platziert werden können in Ihrem
~/.bash_profile
wenn Sie möchten, vermeiden Sie es jedes mal.InformationsquelleAutor der Antwort gozzilli
Wenn Sie PostgresApp, setzen Sie die Umgebungsvariable DYLD_LIBRARY_PATH accrordingly, z.B.:
InformationsquelleAutor der Antwort rslnx