Opdatering af Python 3.10: Sikkerhed og kompatibilitet i fokus

Upstream-understøttelsen af Python 3.10 ophørte den 1. oktober 2026. Den sidste sikkerhedsversion er 3.10.22. Der er ikke flere upstream-opdateringer. Fabrikantens support skal undersøges separat. Den konkrete anvendelseskompatibilitet bør testes individuelt.

Opret projektinventar

Før en migration foretages, er det vigtigt at oprette et fuldstændigt projektinventar. Dette omfatter alle brugte pakker, afhængigheder samt den nuværende version af Python-fortolkeren. Dette inventar hjælper med at opdage potentielle kompatibilitetsproblemer tidligt og planlægge løsninger.

Undersøg fabrikant- og pakkekompatibilitet

Kompatibiliteten skal undersøges systematisk, hvor ikke blot Python-versionen, men også alle afhængige biblioteker og deres versioner skal tages i betragtning. Eksterne grænseflader, som databasedrivere eller API’er, skal undersøges for deres støtte til målversionen. For binære pakker er platform- og arkitekturkompatibiliteten afgørende. Planlægningen bør fastsætte klare ansvarsområder og vedligeholdelsesvinduer for at kunne reagere hurtigt ved problemer. Det er vigtigt at inddele migrationsskridt i faser og undersøge effekterne på hele applikationen ved hvert skridt. En generel migration uden forudgående analyse kan føre til uventede fejl.

Fabrikantens oplysninger om understøttede versioner er her centrale.

Sikkerhedskopiering af applikation, data og konfiguration

Før migrationen begynder, skal der tages fuldstændige sikkerhedskopier af applikationen, dataene og konfigurationerne. Det gamle miljø skal bevares uændret, så man kan vende tilbage til det, hvis der opstår problemer.

Testprojekt og kontrol af fortolkeren

De viste kommandoer er Unix-eksempler; alle kommandoer udføres i rodmappen af et separat testprojekt; relative stier refererer hertil. Før brug skal den faktiske python3-version undersøges. Målversionen skal allerede være installeret, vedligeholdt og projektkompatibel. Der sker ingen ændringer i tjenester i produktion.

Testprojektet tjener til isoleret undersøgelse af migrationsskridt og må ikke forveksles med produktionsmiljøer. Før migrationen begynder, skal den nuværende Python-version i driftsmiljøet fastslås og sammenlignes med målversionen. Alle kommandoer i testprojektet er eksempler og tjener til demonstration; de skal tilpasses til eget miljø.

Før installationen skal fortolkeren python3 allerede være installeret, vedligeholdt og projektkompatibel. Filen requirements-reviewed.txt er en selvforberedt, testet pakkeliste til målversionen og ikke en medfølgende fil. Operativsystemets Python må ikke erstattes. Den globale PATH må ikke ændres. Generelle pakkeopgraderinger anbefales ikke. Følgende kommandoer skal bruges i testprojektet:

python3 --version
python3 -m venv .venv-next
.venv-next/bin/python -m pip install -r requirements-reviewed.txt
.venv-next/bin/python -m pip check

Installation og undersøgelse af afhængigheder

pip check kontrollerer udelukkende kompatibiliteten mellem de deklarerede afhængigheder. Der foretages ingen applikationstest og intet sikkerhedsaudit. Et venv isolerer pakker, men er ikke en sikkerhedssandbox og ophæver ikke, at fortolkerens understøttelse er ophørt. Miljøer bør oprettes på ny, ikke kopieres eller flyttes. Aktivering er ikke påkrævet, hvis stien til fortolkeren eksplicit nævnes.

Test og rollbackplan

Migrationens godkendelse må kun foretages, hvis alle planlagte tests er gennemført og ingen kritiske fejl er opstået. Følsomme data skal behandles efter projektets regler for at undgå at risikere at bryde databeskyttelsesregler. Før omstillingen skal de forventede resultater dokumenteres og sammenlignes med de faktiske resultater. Forskelle skal dokumenteres detaljeret og ikke blot ignoreres.

Efter installation og undersøgelse af afhængigheder bør applikation, eksempeldata og eksterne integrationer testes. Kriterierne for testen skal dokumenteres. Behold de eksisterende miljøer samt sikkerhedskopier af applikationen og dataene indtil godkendelsen. Først efter godkendelsen kan en kontrolleret overgang planlægges. En rollback til det gamle miljø er kun mulig som midlertidig løsning og gør ikke fuld support tilgængelig igen.

Yderligere oplysninger findes i de officielle dokumentationer: PEP 619, venv-dokumentation, pip check.