Como todos sabemos Python ha llegado al final de su vida, esto implica que ya no se le dará soporte de ningún tipo, ni bugfixes ni security updates. En este artículo explicaré como migrar Gentoo de Python2 a Python3.
En mi sistema tenemos las siguientes versiones de Python diponibles:
dev-lang/python
Available versions:
(2.7) 2.7.14-r1 ~2.7.14-r2 2.7.15
(3.4) 3.4.5-r1(3.4/3.4m)^t ~3.4.6-r1(3.4/3.4m) 3.4.8(3.4/3.4m) ~3.4.8-r1(3.4/3.4m)
(3.5) 3.5.4-r1(3.5/3.5m)^t 3.5.5(3.5/3.5m)^t ~3.5.5-r1(3.5/3.5m)^t
(3.6) 3.6.3-r1(3.6/3.6m)^t ~3.6.4(3.6/3.6m)^t 3.6.5(3.6/3.6m)^t ~3.6.5-r1(3.6/3.6m)^t ~3.6.6(3.6/3.6m)^t
(3.7) ~3.7.0(3.7/3.7m)^t
Para elegir una u otra utilizaremos la utilidad eselect, primero listamos las versiones reconocidas por Gentoo y luego le indicaremos cual de ellas queremos utilizar:
eselect python set X
Asignamos en el make.conf las variables PYTHON_TARGETS y PYTHON_SINGLE_TARGET para que el software sea compilado conforme nuestras preferencias.
PYTHON_TARGETS="python2_7 python3_6"
PYTHON_SINGLE_TARGET="python3_6"
A partir de ahora si algún ebuild se queja porque solo soporta una versión antigua de Python, compilamos con esa versión hasta que el ebuild sea actualizado a Python3.
Un ejemplo podría ser este:
Podemos sacar una lista de ebuilds compilados con Python2.7:
Ahora ya podemos eliminar versiones innecesarias de Python:
NOTA: Hay que tener en cuenta que tendremos que ejecutar este comando de forma periódica conforme las versiones de Python vayan actualizándose.
Actualizamos la lista de eselect: