Problem mit pypgsql

Probleme bei der Installation?
Antworten
ragazzomusic
User
Beiträge: 8
Registriert: Donnerstag 7. September 2006, 12:58

Hallo Allerseits,

folgendes Problem:

Ich habe python-pypgsql 2.5.1 auf openSuSE 10.0 (Guru-Paketquelle) installiert und möchte nun ein Inst.-Skript ausführen - das gibt mir jedoch jedesmal diese Fehlermeldung aus:
  • buero2:/tmp/lx-kasse/erpkasse # ./erpkonfig -new
    You need to install pyPgSQL
    Traceback (most recent call last):
    File "erpkonfig.py", line 18, in <module>
    NameError: name 'sys' is not defined
pypgsql ist jedoch installiert! Woran kann es denn liegen?
Offensichtlich wir pypgsql nicht gefunden...
Kann es daran liegen, das das installierte OS auf i586 aufbaut und die Pakete von guru auf i686 optimiert sind?

Hat jemand einen Tipp für mich?

Danke!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ragazzomusic hat geschrieben:pypgsql ist jedoch installiert! Woran kann es denn liegen?
Offensichtlich wir pypgsql nicht gefunden...
Ne. Der Name sys wird nicht gefunden. Füge einfach

Code: Alles auswählen

import sys
in die Datei erpkonfig.py, recht weit oben ein.
ragazzomusic hat geschrieben:Kann es daran liegen, das das installierte OS auf i586 aufbaut und die Pakete von guru auf i686 optimiert sind?
Ne, das hat damit nichts zu tun. Es ist ein Fehler in erpkonfig.py.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ragazzomusic
User
Beiträge: 8
Registriert: Donnerstag 7. September 2006, 12:58

Hallo Leonidas,

Danke für Deinen Tipp!

Sorry, aber ich hatte mit Python bisher sogut wie nichts zu tun - wie füge ich die Zeile denn ein? :lol:

Es gibt eine "erpkonfig" die ich ganz normal bearbeiten kann und die sieht so aus:

Code: Alles auswählen

#!/bin/bash
python ./erpkonfig.pyc $1
Doch die ist sicher nicht gemeint und es funktioniert auch nicht.

Dann gibt es nur noch die "erpkonfig.pyc" - die ist jedoch binär und ich weiß nicht wie ich reinschreiben kann.

Grüsse
Ivan
BlackJack

Dann solltest Du Dich an den Hersteller dieser Datei wenden.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat recht, die erpkonfig (also das Shell-Skript) ruft ein vorkompiliertes Python-File auf, welches dadurch, dass es binär ist nicht editierbar ist (ok, mir würde im äußersten Fall noch Monkey-Patching einfallen, das man versuchen könnte). Der Fehler liegt aber auf jeden Fall in dieser Datei und nicht an deiner pypgsql-Installation. Ob deine pypgsql-Installation richtig funktioniert, kann man an dieser Stelle aber noch nicht abschätzen, da der Fehler viel früher auftritt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ragazzomusic
User
Beiträge: 8
Registriert: Donnerstag 7. September 2006, 12:58

OK, Danke für Eure Antworten - werde mich mal an den Hersteller wenden!

Grüsse
Ivan
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

So ginge es:

Code: Alles auswählen

#!/usr/bin/env python
import sys
ns = {'sys': sys}
execfile('erpkonfig.pyc', ns)
:wink:
TUFKAB – the user formerly known as blackbird
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

blackbird hat geschrieben:So ginge es
Nur wenn der Hersteller vergisst sys zu importieren, dann wird der Rest des Codes warscheinlich auch nicht besser sein. Es ist ja warscheinlich nicht ragazzomusics Aufgabe, die Fehler des Herstellers zu korrigieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ragazzomusic
User
Beiträge: 8
Registriert: Donnerstag 7. September 2006, 12:58

Hallo,

Danke für Euer zahlreiches Feedback!

Habe den Hersteller/Programmierer kontaktiert und Ihm das mit dem "import sys" mitgeteilt.
Er hat es umgehend verändert bzw. "import sys" an den Anfang des Skriptes gestellt und die Fehlermeldungen sind nun alle weg - bis auf eine:

You need to install pyPgSQL

Das ist aber installiert! Ich habe mir jetzt auch die Version 2.4.1 passend zur SuSE-Version installiert.
Laut Ausage des Herstellers mach SuSE vieles anders - habe ich auch schon mitbekommen - aber es muß doch laufen :cry:

Im Pfad /usr/lib/python2.4/site-packages/pyPgSQL/ dem Suchpfad des Skriptes, sind auch Dateien abgelegt.

Muß ich vielleicht noch etwas unter Python (re-)initialisieren?

Grüsse
Ivan
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ragazzomusic hat geschrieben:You need to install pyPgSQL

Das ist aber installiert! Ich habe mir jetzt auch die Version 2.4.1 passend zur SuSE-Version installiert.
Laut Ausage des Herstellers mach SuSE vieles anders - habe ich auch schon mitbekommen - aber es muß doch laufen :cry:
Wenn ein

Code: Alles auswählen

import pyPgSQL
im interaktiven Interpreter funktioniert, dann sollte pyPgSQL korrekt installiert sein. Das wird wohl wieder ein Fehler im Konfig-Skript sein. Wäre interessant zu wissen, wie das Skrpt herausfindet ob PyPgSQL installiert ist, so wäre es viel einfacher herauszufinden, warum das Skript dies meint.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ragazzomusic
User
Beiträge: 8
Registriert: Donnerstag 7. September 2006, 12:58

Leonidas hat geschrieben: Wenn ein

Code: Alles auswählen

import pyPgSQL
im interaktiven Interpreter funktioniert, dann sollte pyPgSQL korrekt installiert sein. Das wird wohl wieder ein Fehler im Konfig-Skript sein. Wäre interessant zu wissen, wie das Skrpt herausfindet ob PyPgSQL installiert ist, so wäre es viel einfacher herauszufinden, warum das Skript dies meint.
Hallo Leonidas,

ja da gebe ich Dir recht - wenn man wüßte wie das Skript arbeitet, wäre es leichter den Fehler zu finden :(

Wenn ich "import pyPgSQL" ausführe, dann verwandelt sich der Cursor in ein Fadenkreuz, aber mehr tut sich leider nicht - ich klicke 2 mal mit der Maus und es erscheint wieder die übliche Fehlermeldung: "You need to install ...."

Ich teste die Installation mal auf einem anderen OS - dann kann ich sicherstellen, das es nicht an SUSE liegt, wie der Hersteller angibt.

Melde mich dann wieder - vielen Dank schon mal an Euch alle!

Grüsse
Ivan
BlackJack

ragazzomusic hat geschrieben:Wenn ich "import pyPgSQL" ausführe, dann verwandelt sich der Cursor in ein Fadenkreuz, aber mehr tut sich leider nicht - ich klicke 2 mal mit der Maus und es erscheint wieder die übliche Fehlermeldung: "You need to install ...."
Das darfst Du nicht in der Shell ausführen, da startest Du das Programm `import` von `ImageMagick` das einen Screenshot macht. :-)

Wenn Du wissen willst ob das Python-Modul grundsätzlich richtig geladen werden kann, dann musst Du das im Python-Inteptertierer eingeben:

Code: Alles auswählen

marc@s8n:~$ python
Python 2.4.3 (#2, Apr 27 2006, 14:43:58)
[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyPgSQL.PgSQL
>>>
Bei mir geht's also ohne Fehlermeldungen.
Antworten