[gelöst] Umzug Python Script Buster -> Bookworm

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Exxter
Beiträge: 385
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

[gelöst] Umzug Python Script Buster -> Bookworm

Beitrag von Exxter » 23.07.2024 12:20:35

Hallo,

ich hatte hier vor langer Zeit ein Problem angefragt: viewtopic.php?t=164554
Die Lösung hat viele Jahre ausgezeichnet funktioniert. Jetzt versuche ich das Script:

https://github.com/m-narayan/smart/blob ... h-decode64

Unter Debian 12 zum laufen zu bekommen, aktuell ohne Erfolg:

Code: Alles auswählen

[root@server:~]$ python3 /usr/local/sbin/ldapsearch-decode64
  File "/root/scripte/ldapsearch-decode64", line 46
    print '%s: %s' % (res.group(1), base64.decodestring(res.group(2)))
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
[root@server:~]$ 
Wenn ich das Script in einer Pipe ausführe kommt:

Code: Alles auswählen

bash: /usr/local/sbin/ldapsearch-decode64: cannot execute: required file not found
Wenn ich das auf dem alten System mache, kommt keine Meldung, ich denke das Script wartet dort auf Input:

Code: Alles auswählen

root@alterserver ~ # python /usr/local/bin/ldapsearch-decode64
^Croot@rigel-1 ~ #

Könnte es sein, dass sich hier vielleicht etwas von Python2 auf Python3 geändert hat? Ich habe auch schon in apt nach python und "base64" gesucht - eventuell ist das ein python-Modul was man extra installieren muss, habe aber nichts gefunden.

Versionen:

Code: Alles auswählen

[root@server:~/scripte]$ python --version
bash: python: Kommando nicht gefunden.
[root@server:~/scripte]$ python3 --version
Python 3.11.2
[root@sirius:~/scripte]$

Code: Alles auswählen

root@alterserver ~ # python --version
Python 2.7.16
root@alterserver ~ #

Hat jemand eine Idee?
Zuletzt geändert von Exxter am 23.07.2024 15:22:44, insgesamt 1-mal geändert.

chrbr
Beiträge: 637
Registriert: 29.10.2022 15:53:26

Re: Umzug Python Script Buster -> Bookworm

Beitrag von chrbr » 23.07.2024 13:01:51

Hier ist eine ganz gute Übersicht zu den Änderungen und wie man damit umgeht:
https://www.howtoforge.de/anleitung/kon ... -python-3/
EDIT:
Das Skript läuft, wenn Du die Ausdrücke hinter den print einklammerst:

Code: Alles auswählen

...
print('%s: %s' % (res.group(1), base64.decodestring(res.group(2))))
und
...
print (line,)
Ob das Ergebnis sinnvoll ist, das weiß ich nicht. Probier es einfach mal aus.

Exxter
Beiträge: 385
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Re: Umzug Python Script Buster -> Bookworm

Beitrag von Exxter » 23.07.2024 15:15:31

War zwar ausführbar, in der bash-Pipe benutzt kam aber nichts raus, also Zeilen mit Umlauten fehlten bei der Ausgabe.
Habe jetzt allerdings das gefunden:

Code: Alles auswählen

perl -MMIME::Base64 -Mutf8 -pe 's/^([-a-zA-Z0-9;]+):(:\s+)(\S+)$/$1.$2.&decode_base64($3)/e'
damit kommt wieder alles an, das Python-Script brauche ich damit nicht mehr.

Danke dir dass du draufgeschaut hast!

Quelle: https://gist.github.com/tsuchm/af7d9a23 ... 8af6348646

Antworten