Canvis a Fedora 41 per als desenvolupadors
Python 3.13
Fedora 41 proporciona Python 3.13, l’última versió major del llenguatge Python. Per a una llista de canvis en aquesta versió, consulteu la documentació upstream, especialment la secció Portabilitat a Python 3.13.
A més, PythonC ara es construeix amb l’indicador del compilador -03 a Fedora, que s’alinea amb com es construeix Python upstream, i proporciona una millora notable del rendiment (per exemple, 1.04x més ràpid en la mitjana geomètrica de pyperformance). Això només afecta l’intèrpret i la biblioteca estàndard de Python, no cap mòdul d’extensió de tercers construït com a RPM o en sistemes de desenvolupadors.
Notes sobre la migració de paquets pip instal·lats per l’usuari
Quan actualitzeu de Fedora 40 a Fedora 41, la versió principal de l’intèrpret de Python canvia de 3.12 a 3.13. Si teniu paquets Python instal·lats utilitzant pip, heu de completar el següent procediment per migrar-los a la nova versió:
-
Instal·leu la versió de Python principal anterior:
sudo dnf install python3.12 -
Obteniu
pipper a la versió de Python principal anterior:python3.12 -m ensurepip --user -
Observeu els paquets instal·lats:
python3.12 -m pip list
-
Desa la llista amb versions específiques:
python3.12 -m pip freeze > installed.txt -
Instal·leu els mateixos paquets per a la versió ara predeterminada:
python3 -m pip install --user -r installed.txt -
Desinstal·leu els paquets instal·lats per l’usuari per a 3.12; això assegura una correcta eliminació dels fitxers a
~/.local/bin:python3.12 -m pip uninstall $(python3.12 -m pip list --user --format freeze | cut -d= -f1) -
Opcionalment, netegeu l’estructura de directoris ara buida:
rm -rf ~/.local/lib/python3.12/ -
Opcionalment, elimineu la versió de Python innecessària:
sudo dnf remove python3.12
Addicionalment, si teniu paquets pip instal·lats utilitzant sudo, executeu les següents ordres abans d’executar el pas final anterior que elimina `python3.12`, o instal·leu-lo de nou temporalment:
-
Obteniu
pipper a la versió de Python principal anterior per aroot:sudo python3.12 -m ensurepip -
Observeu els paquets instal·lats al sistema:
sudo python3.12 -m pip list -
Desinstal·leu els paquets instal·lats per a 3.12; això assegura una correcta eliminació dels fitxers a
/usr/local/bin:sudo python3.12 -m pip uninstall $(python3.12 -m pip list | cut -d" " -f1) -
Opcionalment, netegeu l’estructura de directoris ara buida:
sudo rm -rf /usr/local/lib*/python3.12/
|
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 |
Pytest 8
Pytest és un marc de proves per a projectes basats en Python. Amb Pytest podeu escriure casos de prova senzills i escalables per al vostre codi. Pytest 8 ja està disponible, que elimina moltes funcions depreciades i introdueix alguns canvis disruptius. Les actualitzacions notables inclouen:
-
Diferències millorades que
pytestimprimeix quan falla l’afirmació. -
El mètode intern
FixtureManager.getfixtureclosureha canviat. Els connectors que utilitzen aquest mètode o que subclasifiquen el componentFixtureManageri sobreescriuenFixtureManager.getfixtureclosure, hauran d’adaptar-se. -
Ara s’utilitzen internament els wrappers de ganxo
new-style. -
Sanejada la gestió del paràmetre predeterminat en definir opcions de configuració.
-
Alguns paquets probablement fallaran en la construcció.
Per a més detalls, vegeu les notes de la versió upstream.
PyTorch 2.4
Fedora 41 proporciona PyTorch versió 2.4, l’última upstream d’aquesta popular biblioteca de Python per a l’aprenentatge profund utilitzant CPUs i GPUs.
Per a més informació, vegeu l’anunci de la versió upstream i les notes de la versió.
ROCm 6.2
ROCm 6.2 és l’última iteració de les biblioteques de còmput d’AMD que funcionen amb el nucli linux per permetre als usuaris executar càrregues de treball de còmput a les seves GPUs. S’habiliten tantes GPUs com sigui possible perquè l’acceleració oberta estigui disponible i sigui fàcil per a una audiència tan àmplia com sigui possible. També està integrat amb PyTorch a Fedora 41. Vegeu les notes de la versió upstream per a més detalls.
Retirada de Python 2
El paquet python2.7 s’ha retirat sense substitució de Fedora Linux 41. No hi haurà Python 2 a Fedora 41 o posterior, a part de PyPy. Els paquets que requereixin python2.7 en temps d’execució o de construcció s’hauran d’actualitzar per utilitzar Python 3, o també es retiraran.
Golang 1.23
L’última versió estable d’aquest llenguatge de programació ja està disponible a Fedora 41. Els canvis notables inclouen:
-
La clàusula
rangeal buclefor-rangeaccepta funcions iteradores com a expressions de rang. Els tipus suportats de funcions iteradores són:-
func(func() bool)
-
func(func(K) bool)
-
func(func(K, V) bool)
Les crides de la funció argument de l’iterador produeixen els valors d’iteració per al bucle
for-range. -
-
La cadena d’eines Go pot recollir estadístiques d’ús i trencament. Aquestes es coneixen com a "Go telemetry" i representen un sistema d’opció controlat per l’ordre
go telemetry. -
La variable d’entorn
GOROOT_FINALja no funciona. Instal·leu un enllaç simbòlic en lloc de reubicar o copiar el binarigosi la vostra distribució instal·la l’ordregoen una ubicació diferent de$GOROOT/bin/go. -
El missatge de traça imprès pel temps d’execució després d’un error fatal ara sagna la segona i les línies posteriors del missatge amb una sola tabulació.
-
Canvis significatius en la implementació dels tipus
time.Timeritime.Ticker.
Per a més detalls, vegeu les notes de la versió upstream.
Perl 5.40
L’última versió estable d’aquest llenguatge de programació ja està disponible a Fedora 41. Els canvis notables inclouen:
-
Nova paraula clau
CLASS -
Atribut
:readerper a variables de camp. Això sol·licita que es creï automàticament un mètode d’accés que retorni el valor de la variable de camp de la instància donada. -
En processar opcions de línia d’ordres, Perl permet un espai entre l’interruptor
-Mi el nom del mòdul després d’ell. -
S’han afegit les funcions
infinan(experimentals) a l’espai de nomsbuiltin. Actuen com a constants que produeixen el valor infinit de coma flotant i Not-a-Number respectivament. -
Cridar el mètode
importd’un paquet desconegut produeix un avís. -
La sintaxi de l’operador
returnara rebutja objectes indirectes. -
L’ús de
gotoper saltar d’un àmbit extern a un àmbit intern està depreciat i s’eliminarà completament a Perl 5.42.
Per a més detalls, vegeu les notes de la versió upstream.
NodeJS 22.0
Fedora 41 ara inclou Node.js 22.x com a motor de servidor JavaScript predeterminat de Node.js. Si les vostres aplicacions encara no estan llestes per a aquesta versió més nova, hauran de modificar-se per dependre del paquet de compatibilitat nodejs20 i confiar en /usr/bin/node20 en lloc de /usr/bin/node per al funcionament.
Haskell GHC 9.6 i Stackage LTS 22
Per a Fedora 41, el paquet principal del compilador GHC Haskell ha passat de la versió 9.4.5 a l’última versió estable 9.6.6 (rebasant el paquet ghc del paquet ghc9.6). Juntament amb això, els paquets Haskell a Stackage (la distribució estable de paquets font Haskell) s’han actualitzat des de les versions a LTS 21 a l’última versió LTS 22. Els paquets Haskell que no estan a Stackage s’han actualitzat a l’última versió adequada al repositori de paquets Hackage upstream.
Per a informació completa sobre aquesta versió, vegeu les notes de la versió upstream i la guia de migració.
Actualització de la cadena d’eines GNU
La cadena d’eines GNU a Fedora 41 s’ha actualitzat a:
-
Compilador GNU C (
gcc) 14.1+ -
Utilitats Binaries GNU (
binutils) 2.42+ -
Biblioteca GNU C (
glibc) 2.40 -
Depurador GNU (
gdb) 14+
Vegeu també les notes de la versió upstream per a GCC, Binutils, GLibC NEWS, i GDB NEWS.
LLVM 19
Els subprojectes LLVM a Fedora s’han actualitzat a la versió 19.
S’han afegit paquets de compatibilitat clang18, llvm18, lld18, compiler-rt18 i libomp18 per assegurar que els paquets que actualment depenen de les biblioteques clang i llvm versió 18 continuïn funcionant. Els paquets de compatibilitat anteriors presents a Fedora 40, com ara llvm17, clang17, etc. s’han retirat.
Vegeu les Notes de la versió LLVM 19 per a informació addicional sobre aquesta versió.
Want to help? Learn how to contribute to Fedora Docs ›