Python
Python 2 está obsoleto en Fedora 30
Muchos módulos de Python 2 fueron quitados de la distribución: los paquetes que solo proporcionan módulos importables de Python 2, si no son utilizandos por cualquier otro paquete (hoja de paquetes).
Si bien este cambio no debería afectar a los usuarios habituales, sí afectará a los desarrolladores que utilizan módulos de Python empaquetados en el sistema.
Si desarrolla software que necesita ejecutarse con Python 2, le recomendamos usar un entorno virtual e instalar las dependencias desde el Índice de paquetes de Python (PyPI). Consulte los detalles en: https://developer.fedoraproject.org/tech/languages/python/python-installation.html
También recomendamos usar un entorno virtual (venv) para Python 3 si su software se dirige al ecosistema Python más amplio, en lugar de a Fedora específicamente. Usar venv desvinculará su entorno de desarrollo del sistema.
Si estás desarrollando un paquete de Fedora, por favor pórtalo a Python 3 tan pronto como sea posible. Está prevista la eliminación casi completa de Python 2 para la versión siguiente.
Dependencias generadas automáticamente por paquetes Python
El generador que genera Provides y Requires para paquetes RPM de Python, basado en el archivo setup.py, está habilitado por defecto. Esto facilita y automatiza el empaquetado de paquetes de Python al reutilizar la información proporcionada por el proyecto original, lo que debería resultar en menos dependencias innecesarias o faltantes en los RPM.
Barra de progreso de Python sustituida por progrssbar2
El paquete progressbar ha sido actualizado para utilizar la bifurcación progressbar2, la cual es más nueva y mejor mantenida.
Las extensiones de Nautilus ahora utilizan Python 3
Como parte de la migración general a Python 3, las extensiones para el explorador de archivos y el intérprete gráfico Nautilus ahora se ejecutan con Python 3, y las extensiones compatibles únicamente con Python 2 ya no son compatibles. Las extensiones incluidas en la distribución se han actualizado para su compatibilidad con Python 3. Los usuarios que hayan instalado sus propias extensiones deben comprobar su compatibilidad con Python 3 o eliminarlas.
Evite los indicadores de compilación específicas para Fedora en extensiones Python no en RPM
Al compilar módulos de extensión, el módulo distutils proporciona un conjunto de indicadores de compilación y enlace para garantizar que los módulos se compilen de forma compatible con el ejecutable de Python. Al compilar módulos en Fedora, se utilizó el mismo conjunto de indicadores para los módulos que forman parte de la distribución (es decir, de un paquete RPM) y para los módulos compilados por usuarios que utilizan Fedora. Estos indicadores incluían complementos GCC personalizados y opciones adicionales del enlazador para reforzar el código y añadir anotaciones annobin, lo cual es adecuado para la distribución, pero inesperado e innecesario para el código de usuario. Ahora se proporciona un conjunto de indicadores específico y más pequeño para los módulos de extensión compilados por los usuarios.
Los indicadores de compilación (CFLAGS, CXXFLAGS y LDFLAGS) guardados en el módulo distutils de Python para compilaciones de módulos de extensión son seleccionados desde:
-
%{build_cflags}, -
%{build_cxxflags}y -
%{build_ldflags}
a
-
%{extension_cflags}, -
%{extension_cxxflags}y -
%{extension_ldflags}.
Esto actualmente significa que ningún complemento de GCC (tal como annobin) están activados y ninguno de los archivos específicos de GCC (argumentos -specs=) son utilizados por defecto cuando compila módulos de extensiones de Python (p.e. con python3 setup.py build).
El paquete python3-devel perderá su dependencia en tiempo de ejecución sobre redhat-rpm-config (el cual solo era requerido para asistencia annobin y archivos de especificación de GCC).
El cambio afecta módulos de extensión de compilación por usuarios, externos al entorno de RPM. La biblioteca estándar de Python y los paquetes TPM de Python 3 de Fedora aún son compilados con el conjunto «tradicional» de indicadores (%{build_cflags}, etc). a no ser que el paquete utilice métodos no estandarizados para compilar las extensiones.
Solamente Python 3.7 y 3.6 serán modificadas.
Para información detallada sobre este cambio, incluyendo justificación e impacto en desarrolladores de Python y paquetes, consulte la página de Cambios en el Wiki.
Want to help? Learn how to contribute to Fedora Docs ›