NOTA: actualizando Linux Mint 21 ya aplica la corrección que mueve Python a la versión 3.10.6. Esto resuelve el problema con Alfa, si bien persisten problemas con add-ons como Luar. Esto es debido a que están "pre-compilados" (ver aquí). El usuario @Pardiles ha comprobado que instalando la versión 3.8 de Python en vez de la 3.11 se solucionan todos los problemas.
Los add-ons de Kodi utilizan primariamente Python como lenguaje de programación. En plataformas como Windows o Android Kodi lleva el lenguaje Python embebido, pero en las plataformas Linux el lenguaje Python viene con el sistema operativo, ya que lo usan varios de sus módulos. En la versión de Linux Ubuntu 22.04 y en sus derivados, como Mint 21, la versión de Python que "viene de fábrica" es la 3.10.4.
Esta versión de Python tiene un problema con la librería Sqllite3 que causa la cancelación (crash) de Kodi (ver artículo Kodi crashes with segfault after changes to the library · Issue #21243 · xbmc/xbmc). Este problema está corregido a partir de la versión de Python 3.10.5, pero hasta que Linux incorpore esta versión hay dos alternativas: esperar, o instalar una versión de Python posterior que ya haya corregido el problema.
¿Cómo hacer que Kodi use una versión más moderna de Python sin estropear el sistema Linux?
Basado en las sugerencias de los usuarios descritas en el foro de Kodi, estos son los pasos recomendados para solventar el problema:
Con esto se instala la versión 3.11 de Python y pasa a ser la usada por Kodi, mientras el resto de los programa Linux siguen usando la versión 3.10 por defecto.
Si en algún momento Linux pasa a una versión 3.10 superior a 3.10.4, se puede deshacer el cambio de Kodi para que vuelva a usar la versión de Python del sistema. Para ello solo habría que ejecutar este comando:
- sudo patchelf --replace-needed libpython3.11.so.1.0 libpython3.10.so.1.0 /usr/lib/x86_64-linux-gnu/kodi/kodi.bin
Creemos que esto no interferirá con el normal funcionamiento de Linux, pero no asumimos ninguna responsabilidad sobre efectos secundarios que pudieran ocurrir.
Los add-ons de Kodi utilizan primariamente Python como lenguaje de programación. En plataformas como Windows o Android Kodi lleva el lenguaje Python embebido, pero en las plataformas Linux el lenguaje Python viene con el sistema operativo, ya que lo usan varios de sus módulos. En la versión de Linux Ubuntu 22.04 y en sus derivados, como Mint 21, la versión de Python que "viene de fábrica" es la 3.10.4.
Esta versión de Python tiene un problema con la librería Sqllite3 que causa la cancelación (crash) de Kodi (ver artículo Kodi crashes with segfault after changes to the library · Issue #21243 · xbmc/xbmc). Este problema está corregido a partir de la versión de Python 3.10.5, pero hasta que Linux incorpore esta versión hay dos alternativas: esperar, o instalar una versión de Python posterior que ya haya corregido el problema.
¿Cómo hacer que Kodi use una versión más moderna de Python sin estropear el sistema Linux?
Basado en las sugerencias de los usuarios descritas en el foro de Kodi, estos son los pasos recomendados para solventar el problema:
- sudo apt install software-properties-common
- sudo apt update -y && sudo apt upgrade -y
- sudo add-apt-repository ppa:deadsnakes/ppa
- sudo apt update -y && sudo apt upgrade -y
- sudo apt install python3.11*
- sudo apt install patchelf
- sudo patchelf --replace-needed libpython3.10.so.1.0 libpython3.11.so.1.0 /usr/lib/x86_64-linux-gnu/kodi/kodi.bin
Con esto se instala la versión 3.11 de Python y pasa a ser la usada por Kodi, mientras el resto de los programa Linux siguen usando la versión 3.10 por defecto.
Si en algún momento Linux pasa a una versión 3.10 superior a 3.10.4, se puede deshacer el cambio de Kodi para que vuelva a usar la versión de Python del sistema. Para ello solo habría que ejecutar este comando:
- sudo patchelf --replace-needed libpython3.11.so.1.0 libpython3.10.so.1.0 /usr/lib/x86_64-linux-gnu/kodi/kodi.bin
Creemos que esto no interferirá con el normal funcionamiento de Linux, pero no asumimos ninguna responsabilidad sobre efectos secundarios que pudieran ocurrir.
Última edición: