Soeben habe ich den Server auf Ubuntu 9.04 aktualisiert. Das lief astrein und alles funktioniert einwandfrei. Nur selbst installierte Python-Module musste ich "neu einbinden" (sprich: Symlinks neu setzen und fertig).
Aber da nun Python 2.6 die Standard-Python-Version ist und bei mir etliche Python-Skripte - selbst geschriebene und fremde - in Cron Jobs laufen, quillt mein Posteingang wegen Mails aus eben diesen Cron Jobs über. Und alle handeln von DeprecationWarnings, also Warnungen, das Modul xy mit Python 3.0 wegfallen wird. Nun ist dies natürlich ungemein praktisch - für den eigenen Code. Aber keine dieser Warnungen kommt von meinem eigenen Code, sondern von fremden. Grmpf.
Bisher seh ich noch keine Möglichkeit, das sauber zu lösen, bis die entsprechenden Programmierer das angepasst haben und die neuen Versionen über die gängigen Pakete verfügbar werden. Bis dahin bleiben zwei "unsaubere Lösungen":
- Wird das Skript direkt über
- Bei schweren Fällen geht nur ein gepflegter Eingriff in das Python-Modul selbst. Da etliche Python-Skripte Warnungen wegen dem
Ist aber zugegeben keine gute Lösung. Aber bis das "Problem" in allen Skripten gelöst sein wird, wird es noch dauern. Bisher scheint das auch nur beim
Kennt jemand eine bessere Lösung? Bin für jede Hilfe dankbar.
Aber da nun Python 2.6 die Standard-Python-Version ist und bei mir etliche Python-Skripte - selbst geschriebene und fremde - in Cron Jobs laufen, quillt mein Posteingang wegen Mails aus eben diesen Cron Jobs über. Und alle handeln von DeprecationWarnings, also Warnungen, das Modul xy mit Python 3.0 wegfallen wird. Nun ist dies natürlich ungemein praktisch - für den eigenen Code. Aber keine dieser Warnungen kommt von meinem eigenen Code, sondern von fremden. Grmpf.
Bisher seh ich noch keine Möglichkeit, das sauber zu lösen, bis die entsprechenden Programmierer das angepasst haben und die neuen Versionen über die gängigen Pakete verfügbar werden. Bis dahin bleiben zwei "unsaubere Lösungen":
- Wird das Skript direkt über
python aufgerufen, reicht es, den Parameter -Wignore anzugeben. Das ignoriert aber alle Warnungen!- Bei schweren Fällen geht nur ein gepflegter Eingriff in das Python-Modul selbst. Da etliche Python-Skripte Warnungen wegen dem
sets-Modul ausgeben, kann diese durch ein Editieren der Datei /usr/lib/python2.6/sets.py und dem Auskommentieren des Codes unterdrückt werden:#import warnings
#warnings.warn("the sets module is deprecated", DeprecationWarning,
# stacklevel=2)
Ist aber zugegeben keine gute Lösung. Aber bis das "Problem" in allen Skripten gelöst sein wird, wird es noch dauern. Bisher scheint das auch nur beim
sets-Modul notwendig zu sein.Kennt jemand eine bessere Lösung? Bin für jede Hilfe dankbar.
Kommentare
Kommentar schreiben