Seite 1 von 1
Problem nach Modul-Installation
Verfasst: Montag 17. Juli 2023, 20:14
von glareanus
Hallo,
ich bin noch recht frisch bei Python, aber Probleme macht mir gerade nicht die Progammierung, sondern die Installation eines Paketes:
Am besten für meine Zwecke geeignet ist wohl marcxml_parser. Da das Modul schon was älter ist und ich Python3 habe, habe ich das Modul mit pip aus diesem Repository installiert:
https://github.com/axiell-pcg/marcxml_parser
Die Installation läuft auch glatt durch, allerdings bricht jedes Script, in das das Modul importiert wird (auch, wenn es das einzige ist und kein Code mehr folgt) mit der Fehlermeldung ab:
T
Code: Alles auswählen
raceback (most recent call last):
File "<stdin>", line 1, in <module>
...
File " ... /lib/python3.8/site-packages/marcxml_parser/structures/__init__.py", line 7, in <module>
from person import Person
ModuleNotFoundError: No module named 'person'
Ich kann nicht nachvollziehen, was hier schief läuft, denn die "person.py" gibt es. Hat jemand einen Tipp für mich?
Besten Dank und viele Grüße
Parzival
Re: Problem nach Modul-Installation
Verfasst: Montag 17. Juli 2023, 21:58
von __blackjack__
@glareanus: Diese Art von relativem Import funktioniert nicht mehr in Python 3. Es gibt kein `person`-Modul oder Package. Das heisst `marcxml_parser.structures.person`.
Re: Problem nach Modul-Installation
Verfasst: Dienstag 18. Juli 2023, 17:40
von glareanus
Hallo und besten Dank für die rasche Antwort!
ich werde dann wohl mal versuchen, eine ältere Python-Version parallel zu installieren - mit allem anderen wäre ich ziemlich überfordert...
Viele Grüße
G.
Re: Problem nach Modul-Installation
Verfasst: Dienstag 18. Juli 2023, 18:05
von grubenfox
Wenn das man gut geht... ich nutze dafür pyenv.
Zwei Links zum Thema. Zum zweiten Links unter Windows kann ich nichts sagen, habe hier Linux im Einsatz.
https://realpython.com/intro-to-pyenv/
https://pyenv-win.github.io/pyenv-win/
Re: Problem nach Modul-Installation
Verfasst: Freitag 4. August 2023, 14:45
von glareanus
Hallo,
danke für die Warnung! Ich musste nicht viel nachlesen, um zu kapieren, was Du meinst. Also hab' ich das mit der älteren Python-Version mal lieber bleiben lassen. Sollte ich nochmal auf so ein Problem stoßen, wäre pyenv für mich sicher die erste Wahl.
Bei marcxml_parser war es glücklicherweise so, dass sich das Modul recht leicht anpassen lässt, wenn man allen Fehlermeldungen bei der Installation nachgeht. Ob das jetzt auf die Dauer gut geht, weiß ich noch nicht, aber im Moment macht das Ding, was es soll.
Nochmal vielen Dank für die rasche Unterstützung!
Re: Problem nach Modul-Installation
Verfasst: Freitag 4. August 2023, 17:28
von nezzcarth
glareanus hat geschrieben: Freitag 4. August 2023, 14:45
Ob das jetzt auf die Dauer gut geht, weiß ich noch nicht, aber im Moment macht das Ding, was es soll.
Die gängige Python-Bibliothek zur Verarbeitung von MARC und MARC-XML ist m.W.n.
https://pypi.org/project/pymarc/ (wenn man denn überhaupt eine Library nimmt und es nicht einfach wie normales XML verarbeitet). Wenn deine Daten eine etwas andere Form haben, kannst du sie mit ein paar Zeilen XSLT oder Python vor-verarbeiten und in die richtige Form bringen.
Re: Problem nach Modul-Installation
Verfasst: Samstag 5. August 2023, 15:30
von glareanus
pymarc hatte ich mir auch angesehen, nur schien es mir mit marcxml_parser einfacher, mit Daten zu arbeiten, die über die OAI-PMH-Schnittstelle bezogen wurden, oder die - ohne sie vorher in einer Datei zu speichern - über die SRU-Schnittstelle kommen.
Re: Problem nach Modul-Installation
Verfasst: Sonntag 20. August 2023, 09:11
von glareanus
Hallo nochmal,
um das Thema hier abzuschließen (obwohl damit eigentlich off topic): mir hat die Sache keine Ruhe gelassen und ich habe mir den Tipp von nezzcarth nochmal genau angesehen. Schlussendlich habe ich es genau so gemacht: ich hole die Daten über die Schnittstelle, passe sie mit xslt an (ein ähnliches xsl-Script hatte ich noch vorrätig) und greife dann mit pymarc auf die Marc-Felder zu.
Dadurch ist das Script zwar etwas länger geworden, aber der Zugriff auf die verschiedenen (z.T. wiederholbaren) Felder und/oder Unterfelder ist in Pymarc doch etwas komfortabler, wenn man sich mal genauer damit auseinandergesetzt hat.
Vielen Dank für Eure Kommentare!
Glareanus