Documentation for a newer release is available. View Latest

Python

Paquet Python actualitzat a l’última versió

El paquet python3 s’ha actualitzat a l’última versió 3.9 a Fedora 33. Anteriorment, a Fedora 32 s’admetia la versió 3.8 del paquet python3, que ara s’ha actualitzat.

Aquesta última actualització de Python 3.9 proporcionarà moltes millores. Alguns dels punts destacats són:

  • S’han afegit els operadors d’unió de fusió (| ) i actualització (|=) a la classe dict.

  • Suggeriment d’anotació de tipus en col·leccions estàndard.

  • Admet anotacions de funcions i variables més flexibles.

  • Proporciona una relaxació de les restriccions gramaticals permetent que els decoradors siguin qualsevol expressió vàlida.

  • Suport per a la base de dades de fusos horaris IANA al mòdul zoneinfo.

  • Els mètodes de cadena removeprefix i removesuffix eliminaran prefixos i sufixos d’una cadena.

  • CPython ara utilitza un nou analitzador basat en gramàtica d’expressió d’anàlisi (PEG).

Notes sobre la migració de paquets pip instal·lats per l’usuari

Quan actualitzeu Fedora de la versió 32 a Fedora 33, la versió principal de l’intèrpret de Python canvia de 3.8 a 3.9. Si teniu paquets de Python instal·lats utilitzant pip, heu de completar el procediment següent per migrar-los a la nova versió:

  1. Instal·leu la versió anterior del paquet python3:

    sudo dnf install python3.8
  2. Obtingueu pip per a la versió anterior de Python:

    python3.8 -m ensurepip --user
  3. Observeu els paquets instal·lats:

    python3.8 -m pip list
  4. Desa la llista amb versions específiques:

    python3.8 -m pip freeze > installed.txt
  5. Instal·leu els mateixos paquets per a la versió ara predeterminada:

    python3 -m pip install --user -r installed.txt
  6. Desinstal·leu els paquets instal·lats per l’usuari per a Python 3.8; això garanteix l’eliminació adequada dels fitxers a ~/.local/bin:

    python3.8 -m pip uninstall $(python3.8 -m pip list --user | cut -d" " -f1)
  7. Opcionalment, netegeu l’estructura de directoris ara buida:

    rm -rf ~/.local/lib/python3.8/
  8. Opcionalment, elimineu la versió de Python innecessària:

    sudo dnf remove python3.8

A més, si teniu algun paquet pip instal·lat utilitzant sudo, executeu les ordres següents abans d’executar l’últim pas anterior que elimina `python3.8`, o torneu-lo a instal·lar temporalment:

  1. Obtingueu pip per a la versió anterior de Python per a l’usuari root:

    sudo python3.8 -m ensurepip
  2. Observeu els paquets instal·lats al sistema:

    sudo python3.8 -m pip list
  3. Desinstal·leu els paquets instal·lats per a 3.8; això garanteix l’eliminació adequada dels fitxers a /usr/local/bin:

    sudo python3.8 -m pip uninstall $(python3.8 -m pip list | cut -d" " -f1)
  4. Opcionalment, netegeu l’estructura de directoris ara buida:

    sudo rm -rf /usr/local/lib*/python3.8/

Si heu seguit el primer procediment, els paquets ja estan instal·lats per al vostre compte d’usuari, que és l’opció preferida. Eviteu utilitzar sudo pip en el futur, aquestes instruccions només estan destinades a recuperar usuaris que ja havien utilitzat sudo pip en el passat.

Retirada de Python 3.4 i Python 2.6

Els paquets python34 i python26 es retiren sense substitució a partir de Fedora 33. Els paquets ja no estaran disponibles als repositoris, però poden romandre a les instal·lacions existents. Ambdós paquets s’han mantingut a Fedora per raons de llegat, i el seu manteniment continu ha estat demostrant ser cada vegada més difícil mentre que proporciona un benefici decreixent a la distribució, raó per la qual ara han desaparegut.