23 votos

¿Cómo puedo eliminar python 2.7 después de la instalación de python 3.3?

Tengo correctamente instalado python 3.3 en Ubuntu 12.10. Dado que no necesito varias versiones de python, quiero quitar la anterior python 2.7. Cuando trato de hacer:

sudo apt-get remove python2.7

Ubuntu me advierte que hay una gran cantidad de funciones dependientes de los componentes que serán eliminados también. Se ve realmente aterrador.

Así que, ¿hay alguna manera de eliminar python 2.7 sin afectar a las funciones dependientes de los componentes, o se pueden modificar a los dependientes para el uso de python 3.3?

2 votos

No lo recomiendo. Las versiones de Python no son en absoluto compatibles, por lo que los antiguos scripts podrían tener problemas de experiencia si no se tiene la versión correcta.

0 votos

tienes razón, python3.3 ha declarado que es incompatible con Python 2.7. Así que, mejor me lo guardo. ¡Gracias por el consejo!

28voto

RN. Puntos 559

No se puede.

Desde el Ubuntu wiki / Python :

Planes a largo plazo (por ejemplo, 14.04)

Trasladar Python 2 a universe, portar todas las aplicaciones Python en main a Python 3. Nunca nos desharemos del todo de Python 2.7, pero dado que tampoco habrá nunca un Python 2.8, y que Python 2.7 tendrá casi 4 años de antigüedad cuando se publique la versión 14.04 LTS, es hora de relegar Python 2 a universe.

Esto significa que muchos paquetes base tienen dependencias duras de la versión 2.7 y todavía llevará mucho tiempo migrar las cosas. Ten en cuenta que Python 3 tiene numerosos cambios incompatibles con la versión anterior, no es una actualización regular de paquetes.

Si realmente quieres deshacerte de Python 2.7, tendrás que esperar a la versión 14.04, pero no hay garantía.

3 votos

Es 16.04, ahora.

1 votos

Es 18.04, ahora.

1 votos

Es 19.04 fu#!& ahora

14voto

saniboy Puntos 16

Llegué aquí en 2019 porque desarrollo en Python3 por defecto y llegué a la misma conclusión que OP tras ver lo que se eliminaría tras ejecutar apt purge python

Como lo que realmente quería era llamar a Python3 con sólo python , corrí

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

De esta manera, si se sigue necesitando Python2.7, se puede llamar explícitamente con python2.7 mientras que simplemente se llama a python será por defecto Python3 debido al enlace simbólico.

No tengo ningún nivel de bash scripts que llamen a python2.7 con python por lo que este cambio no sería disruptivo - mientras que otros sistemas necesitarían sus scripts ajustados en consecuencia si lo hicieran.

La principal barrera para que una distribución cambie el comando Python de python2 a python3 no es la ruptura dentro de la distribución, sino la ruptura de los scripts privados de terceros desarrollados por sysadmins y otros usuarios.

- El comando "Python" en sistemas tipo Unix

Esta respuesta no es una respuesta directa al OP, pero como alguien que tenía una pregunta similar esta es la funcionalidad que estaba buscando cuando estaba pensando en eliminar el 2.7. En lugar de eliminar, sólo priorizar que se llega a utilizar python .

1 votos

Me parece una mala idea. Cualquier viejo scripts hecho para Python 2 llamará a /usr/bin/python , mientras que casi cada script hecho para Python 3 será consciente del cambio, y llamará a python3 en la actualidad. Dejar python apuntar a python2.7 es menos probable que rompa cosas.

0 votos

Yo diría que depende del entorno, como dije no hago scripts que requieran python2 y funcionen en 3 - mientras que si hiciera un cambio así en una de nuestras estaciones en el trabajo que ejecuta scripts automatizados sería muy disruptivo.

0 votos

¿Existen procesos específicos del sistema que pueda enumerar que llamen a /usr/bin/Python? Siempre estoy abierto a cambiar de opinión cuando se me presenta nueva información

6voto

user173076 Puntos 21

No puedes, y realmente no quieres.

Python cambió drásticamente entre la 2.7 y la 3.0, y rompió la compatibilidad hacia atrás. Los scripts de Python que se escribieron para la versión 2.7, y que se utilizan para soportar una gran cantidad de la infraestructura del sistema, no necesariamente funcionarán correctamente con Python 3.x. Esos scripts necesitan ser actualizados para funcionar con la nueva versión, y hasta que eso ocurra, tendrás que mantener Python 2.7 cerca.

Por eso se nota un número tan grande de dependencias en el antiguo Python: el sistema depende de él. Además, no hay nada malo en tener ambas versiones de Python instaladas en el mismo sistema. Y es posible que en el futuro te encuentres con aplicaciones que sigan usando Python 2.7, así que mantenerlo es una buena idea.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: