Peter J. Holzer <hjp-usenet3@hjp.at> wrote:
Genau das reicht doch: es soll meine modifizierte time Library gefunden und dann zur Laufzeit geladen werden.
Vielleicht, aber das war nicht Deine Frage.
Meine Frage war mehrteilig, inklusive der nach Alternativloesungen :-)
In Perl kann man folgendes machen: Ein Modul laden und danach nur eine Funktion nachtraeglich ersetzen. Geht so was auch mit Python?
Ja, wurde ja schon erklärt.
Nicht konkret genug. Im duplicity source code steht an mehreren Stellen: from duplicity import dup_time Angenommen mein modifiziertes dup_time.py liegt in /opt/duply/lib/dup_time.py Was muss dann in $PYTHONPATH stehen, damit das geladen wird. Und was muss ich in /opt/duply/lib/dup_time.py schreiben um /usr/lib/python3/dist-packages/duplicity/dup_time.py zu laden?
(Was für mich auch eher schleierhaft macht. wie du da ein Wrapper-Script unterbringen willst
Trivial: das steht irgendwo in $PATH weiter vorne. So was hab ich schon oft gemacht bei anderen Sprachen.
Wenn Du ein *anderes* Script aufrufen kannst, ist es wahrscheinlich am einfachsten, das Originalscript mittels exec aufzurufen:
% cat foo #!/usr/bin/python3
import time
timeinseconds = time.time() print(time.asctime(time.localtime(timeinseconds))) % ./foo Sun Dec 4 14:39:06 2022 % cat foo_wrapper #!/usr/bin/python3
import time
def my_asctime(tm): return "Gotcha!"
time.asctime = my_asctime
with open("foo") as f: code = f.read() exec(code) % ./foo_wrapper Gotcha!
"foo" waere dann "/usr/bin/duplicity" ? Aber da steht doch drin: import time was mir meine grad modifizierte time.asctime() Funktion wieder ueberschreibt?
Wenn mich das Datumsformat ausreichend stören würde, würde ich das Debian-Paket patchen (ich gehe mal davon aus, dass Du das auf mehr als einem System haben willst). Das ist wahrscheinlich am einfachsten und saubersten.
Nicht machbar. Die Zielsysteme koennen auch Redhat sein und ich hab da auch keine root-Rechte.
Was mich wieder zu der Frage zurückführt, wie Du da ein Wrapper-Script installieren willst.
$HOME/bin, /var/tmp/bin, etc -- Ullrich Horlacher Server und Virtualisierung Rechenzentrum TIK Universitaet Stuttgart E-Mail: horlacher@tik.uni-stuttgart.de Allmandring 30a Tel: ++49-711-68565868 70569 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/