Ich habe ein sehr seltsames Problem, das ich nicht ganz herausfinden kann und hoffe, dass Sie alle können. Befolgen Sie die Schritte unter this link, ich habe den Oracle Instant Client und Cx_Oracle installiert, und ich kann Cx_Oracle in Python problemlos importieren. Ich habe all das in einem virtualenv getan.Django kann nicht cx_Oracle auf OS X importieren, obwohl Python kann
Das Problem ist, wenn ich
./manage.py runserver
versuche ich
raise ImproperlyConfigured("Error loading cx_Oracle module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading cx_Oracle module:
dlopen(/Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so,
2): Library not loaded: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
Referenced from: /Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so
Reason: image not found
Natürlich bekommen, das ist genau das, wo die cx_Oracle.so Datei vorhanden ist.
So habe ich gesucht und gefunden this SO question, aber Ausführen des Ruby-Skript bricht tatsächlich meine cx_Oracle-Import in Python, und löst das Problem Django nicht. Stattdessen gibt es den folgenden Fehler, ob in Python direkt oder in der Django-Umgebung. Wie behebe ich das? Ich muss cx_Oracle in django importieren können! Vielen Dank!
ImportError: dlopen(/Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so,
2): Library not loaded: /Users/Shawn/Oracle/instantclient_11_2/
Referenced from: /Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so
Reason: no suitable image found. Did find:
/Users/Shawn/Oracle/instantclient_11_2/: not a file
/Users/Shawn/Oracle/instantclient_11_2/: not a file
/usr/local/lib/: not a file
/usr/lib/: not a file
EDIT: Ich wischte und meine virtualenv neu erstellt. Ich habe dann das Ruby-Skript wiederholt, nachdem ich festgestellt habe, dass ich es nicht im selben Verzeichnis wie die ausführbaren Dateien des Instant-Clients ausgeführt habe. Es lief und aktualisiert von
@executable_path/...
to
/Users/shawn/Oracle/...
ich cx_Oracle in meinem virtualenv Python versucht, den Import und dieses Mal ist es arbeitete statt einen Fehler zu werfen. Leider bläst versucht, meinen django-Server läuft noch
Raise ImproperlyConfigured("Error loading cx_Oracle module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading cx_Oracle module: dlopen(/Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so, 2): Library not loaded: libclntsh.dylib.11.1
Referenced from: /Users/shawn/Virtual/Django18/lib/python2.7/site-packages/cx_Oracle.so
Reason: image not found
sagen, bis ich kann nicht verstehen, warum Python importieren kann, aber django kann es nicht.
Führen Sie Python ** aus Ihrer virtuellen Umgebung **, wo Sie Cx_Oracle installiert haben? – hd1
Ja. Es importiert cx_Oracle fein – Shawn