python update

greyghost

Member
Hola allerseits,
ich würde gerne meine verbliebenen py311-packages auf py312 updaten. Lt. /usr/src/UPDATING geht das mit pkg set -p -n py311-:py312-
Leider funktioniert das bei mir nicht:
# pkg set -p -n py311-:py312-
Do you want to batch replace 'py311-' in package name with 'py312-'?[y/N]: y
pkg: sqlite error while executing update packages set name = replace(name, 'py311-', 'py312-') where name glob '*py311-*' in file pkgdb.c:2781: UNIQUE constraint failed: packages.name

Websuche hat mir leider gerade keine Erleuchtung dazu gebracht. Irgendwelche Ideen?
 
Nach meinem Verständnis liegt das Problem an den bereits installierten py312 Packages. Diese würde ich temporär löschen, das pkg set-Gedönse ausführen und dann die gelöschten py312-Pakete wieder installieren.

HTH
 
Ja, da ist vorher schon ein Upgrade gelaufen, das irgendwie nicht alles mitgenommen hat.
Die bereits vorhandenen py312-Pakete möchte ich nur ungerne wieder deinstalliern, weil das einen großen Teil der grafischen Umgebung (xfce & co.) ebenfalls deinstallieren würde. Ich bin gerade umgedreht dabei, die doppelt vorhandenen py311-Pakete manuell zu löschen. Die scheinen weitgehend verzichtbar zu sein. Das einzige, was ich dann manuell unter py312 neu machen muß, ist vermutlich ansible (wenn ich das richtig überblicke), was deutlich weniger Aufwand wäre.
 
Ok, lustig. Ich hatte meine Nachricht zuerst genau so rum geschrieben, wie du es jetzt machst. Ich hätte hierbei zuerst "pkg info | grep py311 > /root/foobar" ausgeführt und dann einzeln die Pakete gelöscht um zu sehen, welche Pakete davon abhängen (die automatisch mitgelöscht werden). Dann habe ich deine Nachricht nochmal gelesen und war irgendwie der Meinung, dass bislang nur wenige py312-Pakete installiert sind. :)
 
Es sind ja auch weniger 312'er als 311'er, aber Kollisionen gibt es gar nicht so viele (und die 311'er sind vielleicht auch teilweise einfach über). Ich räume gerade insgesamt etwas auf, da sind teilweise noch verwaiste Pakete bis nach py38 zurück. Wenn ich nochmal 'ne halbe Stunde Zeit finde, ist das hoffentlich erledigt.
 
Zum Abschluß: habe jetzt am Ende alles mit pkg remove "py311-*" entsorgt. Relevant waren für mich nur ansible & co., was ich hinterher manuell auf py312-Basis neu installiert habe. Dazu habe ich die erwähnten Altlasten entsorgt, keine weiteren Probleme.
 
Zurück
Oben