Python 3.10 -päivitys: turvallisuus ja yhteensopivuus keskiössä

Python 3.10:n upstream-tuki päättyi 1. lokakuuta 2026. Viimeinen tietoturvajulkaisu oli 3.10.22. Uusia upstream-päivityksiä ei enää julkaista. Valmistajan tarjoama mahdollinen tuki on tarkistettava erikseen. Kunkin sovelluksen yhteensopivuus on testattava erikseen.

Laadi projektin inventaario

Ennen migraation aloittamista on tärkeää laatia kattava inventaario projektista. Kirjaa käytössä olevat paketit, riippuvuudet ja Python-tulkin nykyinen versio. Inventaario auttaa havaitsemaan yhteensopivuusongelmat ajoissa ja suunnittelemaan ratkaisuja.

Tarkista valmistajan vaatimukset ja pakettien yhteensopivuus

Yhteensopivuus on tarkistettava järjestelmällisesti. Huomioi Python-version lisäksi kaikki projektin tarvitsemat kirjastot ja niiden versiot. Ulkoisten rajapintojen, kuten tietokanta-ajurien ja API-rajapintojen, tuki kohdeversiolle on tarkistettava. Binääripaketeissa alustan ja arkkitehtuurin yhteensopivuus on keskeistä. Määritä selkeät vastuut ja huoltoikkunat, jotta ongelmiin voidaan reagoida nopeasti. Jaa migraatio vaiheisiin ja tarkista jokaisen vaiheen vaikutukset koko sovellukseen. Laajamittainen siirtyminen ilman ennakkoanalyysiä voi aiheuttaa odottamattomia virheitä.

Valmistajan tiedot tuetuista versioista ovat keskeisiä.

Varmuuskopioi sovellus, tiedot ja asetukset

Ennen migraatiota sovellus, tiedot ja asetukset on varmuuskopioitava kokonaisuudessaan. Säilytä vanha ympäristö muuttumattomana, jotta siihen voidaan palata ongelmatilanteessa.

Tarkista testiprojekti ja tulkki

Esimerkkikomennot on tarkoitettu Unix-järjestelmiin. Suorita kaikki komennot erillisen testiprojektin juurihakemistossa; suhteelliset polut viittaavat siihen. Tarkista ennen aloittamista todellinen python3-versio. Kohdetulkin tulee olla valmiiksi asennettu, ylläpidetty ja projektin kanssa yhteensopiva. Tuotantopalveluihin ei tehdä muutoksia.

Testiprojektissa migraatiovaiheita testataan tuotannosta erillään. Älä sekoita sitä tuotantoympäristöön. Selvitä nykyinen Python-versio käyttöympäristössä ja vertaa sitä kohdeversioon. Komennot ovat havainnollistavia esimerkkejä, ja ne on mukautettava omaan ympäristöön.

Ennen asennusta tulkin python3 tulee olla valmiiksi asennettu, ylläpidetty ja projektin kanssa yhteensopiva. Tiedosto requirements-reviewed.txt on valmisteltava itse, ja sen paketit on testattava kohdeversiolla. Tiedostoa ei toimiteta Pythonin mukana. Käyttöjärjestelmän Pythonia ei saa korvata eikä globaalia PATH-muuttujaa muuttaa. Pakettien yleisiä joukkopäivityksiä ei suositella. Käytä testiprojektissa seuraavia komentoja:

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

Asenna ja tarkista riippuvuudet

pip check tarkistaa ainoastaan ilmoitettujen riippuvuuksien yhteensopivuuden. Se ei suorita sovellustestejä eikä tietoturvatarkastusta. venv eristää paketit, mutta ei ole tietoturvahiekkalaatikko eikä poista tulkin ylläpidon päättymisen ongelmaa. Ympäristö on luotava uudelleen, eikä sitä pidä kopioida tai siirtää. Aktivointia ei tarvita, kun tulkin polku annetaan täsmällisesti.

Testaa ja suunnittele palautuminen

Hyväksy migraatio vasta, kun kaikki suunnitellut testit ovat onnistuneet eikä kriittisiä virheitä ole ilmennyt. Arkaluonteisia tietoja on käsiteltävä projektin ohjeiden mukaisesti tietosuojasääntöjen noudattamiseksi. Kirjaa odotetut tulokset ennen vaihtoa ja vertaa niitä toteutuneisiin tuloksiin. Dokumentoi erot äläkä ohita niitä tutkimatta.

Asennuksen ja riippuvuustarkistuksen jälkeen on testattava sovellus, esimerkkitiedot ja ulkoiset integraatiot. Dokumentoi testien hyväksymiskriteerit. Säilytä vanhat ympäristöt sekä sovelluksen ja tietojen varmuuskopiot hyväksymiseen asti. Vasta tämän jälkeen voidaan suunnitella hallittu siirtyminen. Paluu vanhaan ympäristöön on vain väliaikainen ratkaisu eikä palauta upstream-tukea.

Lisätietoja on virallisessa dokumentaatiossa: PEP 619, venv-dokumentaatio, pip check.