Oppdatering av Python 3.10: Sikkerhet og kompatibilitet i fokus

Upstream-støtten for Python 3.10 ble avsluttet 1. oktober 2026. Den siste sikkerhetsversjonen er 3.10.22. Det er ingen videre upstream-oppdateringer. Støtte fra produsenten må sjekkes separat. Den konkrete applikasjonskompatibiliteten bør testes individuelt.

Opprett et prosjektinventar

Før migreringen foretas, er det viktig å opprette et fullstendig prosjektinventar. Dette inkluderer alle brukte pakker, avhengigheter og nåværende versjon av Python-tolken. Dette inventaret hjelper til å oppdage potensielle kompatibilitetsproblemer tidlig og planlegge løsninger.

Kontroller produsentkrav og pakkekompatibilitet

Kompatibiliteten må sjekkes systematisk, der ikke bare Python-versjonen, men også alle avhengige biblioteker og deres versjoner må tas med i betraktning. Eksterne grensesnitt, som databasedrivere eller API-er, må sjekkes for støtte til målversjonen. For binære pakker er plattform- og arkitekturkompatibilitet avgjørende. Planleggingen bør fastsette tydelige ansvarsområder og vedlikeholdsvinduer for å kunne reagere raskt ved problemer. Det er viktig å dele migreringsskrittene i faser og sjekke effekten på hele applikasjonen i hvert skritt. En generell migrering uten foranalyse kan føre til uventede feil.

Produsentens opplysninger om støttede versjoner er her av sentral betydning.

Sikkerhetskopier applikasjon, data og konfigurasjon

Før migreringen starter, skal det tas fullstendige sikkerhetskopier av applikasjonen, dataene og konfigurasjonene. Det gamle miljøet må bevares uendret, slik at man kan gå tilbake til det hvis det oppstår problemer.

Testprosjekt og kontroll av tolken

De viste kommandoene er Unix-eksempler; alle kommandoer utføres i roten av et separat testprosjekt; relative stier refererer til dette. Før bruk sjekk den faktiske python3-versjonen. Målversjonen må allerede være installert, vedlikeholdt og prosjektkompatibel. Det skjer ingen endringer i tjenester i produksjon.

Testprosjektet brukes til å teste migreringsskritt separat og bør ikke forveksles med produksjonsmiljøer. Før migreringen starter, fastslå nåværende Python-versjon i driftsmiljøet og sammenlign med målversjonen. Alle kommandoer i testprosjektet er eksempler og brukes for demonstrasjon; de må tilpasses eget miljø.

Før installasjon må tolken python3 allerede være installert, vedlikeholdt og prosjektkompatibel. Filen requirements-reviewed.txt er en egenutarbeidet, testet pakkeliste for målversjonen og ikke en medfølgende fil. Operativsystemets Python må ikke erstattes. Den globale PATH må ikke endres. Generelle pakkeoppgraderinger anbefales ikke. Følgende kommandoer brukes i testprosjektet:

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

Installasjon og sjekk av avhengigheter

pip check sjekker kun deklarert avhengighetskompatibilitet. Det gjøres ingen applikasjonstester og ingen sikkerhetsrevisjon. Et venv isolerer pakker, men er ikke en sikkerhets-sandbox og opphever ikke at støtten for tolken er avsluttet. Miljøer bør opprettes på nytt, ikke kopieres eller flyttes. Aktivering er ikke nødvendig hvis stien til tolken er oppgitt eksplisitt.

Test og rollbackplanlegging

Godkjenning av migreringen bør bare skje når alle planlagte tester er gjennomført og ingen kritiske feil har oppstått. Sensitive data må behandles etter prosjektspesifikasjon for å unngå å bryte personvernsregler. Før omstillingen dokumenteres forventede resultater og sammenlignes med faktiske resultater. Forskjeller må dokumenteres detaljert og ikke ignoreres.

Etter installasjon og sjekk av avhengigheter bør applikasjon, eksempeldata og eksterne integrasjoner testes. Kriteriene for testen må dokumenteres. Behold de eksisterende miljøene samt sikkerhetskopier av applikasjonen og dataene frem til godkjenning. Bare etter dette kan en kontrollert overgang planlegges. En rollback til det gamle miljøet er bare mulig som midlertidig løsning og gjenoppretter ikke upstream-støtten.

Mer informasjon finner du i offisielle dokumentasjoner: PEP 619, venv-dokumentasjon, pip check.