Seite 1 von 1

Python und lib-Pfade

Verfasst: Mittwoch 15. Dezember 2004, 15:30
von Errraddicator
Tach auch,
ich bin neu in Python und habe mal eine dumme Frage:

Ich habe Python 2.3.4 und Postgres 7.4.5. erfolgreich installiert.
Beides läuft an sich auch prima.
Jetzt will ich zusätzlich noch eine Pythonschnittstelle installieren um auf die Postgresdatenbank zu kommen.
Das installieren hat auch wunderbar funktioniert.
Ich hab ein neues Verzeichnis im "site-packages"-Ordner etc.
Allerdings wenn ich das mitgelieferte Testprogramm starten will, erscheint immer die Fehlermeldung, dass die Datei "libpq.so.3" nicht gefunden werden konnte.
Die Datei liegt aber im LIB-Verzeichniss von Postgres und diesen Pfad habe ich auch bei der Installation der Schnittstelle mit angegeben.

Ich hab sowohl PyPgSQL als auch Psycopg ausprobiert, beides mal das gleiche.
Installation -> ok
Ausführen -> schlecht

Was mache ich falsch?
Kann man irgendwo nachträglich einstellen wo Python nach Packages suchen soll?


Danke im Voraus

cu Errraddicator

Verfasst: Mittwoch 15. Dezember 2004, 15:37
von raist1314
Ok, ich vermute mal du befindest dich unter Linux... In welchem Verzeichnis ist denn deine Postgresql Datenbank installiert, besser gesagt, wo liegt die libpq.so.3?

Scheint nämlich so, dass deine libpq.so.3 nicht in einem Pfad aus /etc/ld.so.conf und LD_LIBRARY_PATH vorhanden ist.

Sebastian

Verfasst: Mittwoch 15. Dezember 2004, 15:39
von Errraddicator
also mein Python ist unter
/usr/local/python2.3.4/

und mein Postgres unter
/usr/local/pgsql

installiert.

ich probier das was du sagtest mal aus.

Verfasst: Mittwoch 15. Dezember 2004, 15:46
von raist1314
Errraddicator hat geschrieben: und mein Postgres unter
/usr/local/pgsql
.
Das dachte ich mir nämlich. Damit liegen deine Postgresql includes nämlich in /usr/local/pgsql/include. Du musst den Pfad dann in die Datei /etc/ld.so.conf mit eintragen und danach einmal ldconfig ausführen, dann sollte es funktionieren...
btw, du hast die Postgre Datenbank von Hand kompiliert oder?

EDIT: !!! Hab mich vertan, du musst den Pfad /usr/local/pgsql/lib mit in die /etc/ld.so.conf aufnehmen, nicht den include Pfad... sorry :oops:

HTH

Sebastian

Verfasst: Mittwoch 15. Dezember 2004, 15:51
von Errraddicator
ja habe ich per hand kompiliert.
ich hab jetzt mal spasseshalber
export LD_LIBRARY_PATH="/usr/local/pgsql"
gemacht und dann hats auch funktioniert.

ich werds aber trotzdem mal in die von euch erwähnte datei schreiben.

danke schon mal für die prompte hilfe!

kommen wir gleich zur nächsten frage:
wo ist nochmal die datei in der ich die export-anweisungen eintragen muss damit die dauerhaft bleiben?

Verfasst: Mittwoch 15. Dezember 2004, 15:57
von raist1314
Errraddicator hat geschrieben:ja habe ich per hand kompiliert.
ich hab jetzt mal spasseshalber
export LD_LIBRARY_PATH="/usr/local/pgsql"
gemacht und dann hats auch funktioniert.

kommen wir gleich zur nächsten frage:
wo ist nochmal die datei in der ich die export-anweisungen eintragen muss damit die dauerhaft bleiben?
Das hängt von deiner Shell ab, nimm den Pfad /usr/local/pgsql/lib am besten in die Datei /etc/ld.so.conf mit auf... einfach am Ende mit in die Datei schreiben(als root) und danach ldconfig ausführen(auch als root).

So funktioniert die Erweiterung gleich für alle Benutzer und niemand muss etwas an seinen .profile, .bash_profile, .cshrc, und wie sie alle heissen, ändern
:D

HTH

Sebastian

Verfasst: Mittwoch 15. Dezember 2004, 21:57
von oenone
du hast immer noch nicht dein Betriebssystem genannt...

ldconfig verhält sich auf anderen Betriebssystemen evtl. anders...

auf bald
oenone