He instalado con éxito Python 3.3 en Ubuntu 12.10. Como no necesito varias versiones de python, quiero eliminar el python 2.7 existente. Cuando trato de hacer eso, usando
sudo apt-get remove python2.7
Ubuntu me advierte que hay toneladas de componentes dependientes del sistema que también se eliminarán. Se ve realmente aterrador.
Entonces, ¿hay alguna manera de eliminar Python 2.7 sin eliminar los componentes dependientes del sistema, o puedo indicar a esos dependientes que usen Python 3.3?
python
python-2.7
Phoenix Bai
fuente
fuente
Respuestas:
No puedes
Desde el wiki de Ubuntu / Python :
Esto significa que muchos paquetes base tienen dependencias difíciles en 2.7 y todavía llevará mucho tiempo migrar las cosas. Tenga en cuenta que Python 3 tiene numerosos cambios incompatibles con versiones anteriores: no es una actualización de paquete regular.
Si realmente quiere deshacerse de Python 2.7, tendrá que esperar a la versión 14.04, pero no hay garantía.
fuente
No puedes, y realmente no quieres.
Python cambió drásticamente entre 2.7 y 3.0, y rompió la compatibilidad con versiones anteriores. Las secuencias de comandos de Python que se escribieron para 2.7, que se utilizan para admitir una gran cantidad de la infraestructura del sistema, no necesariamente funcionarán correctamente con Python 3.x. Esos scripts deben actualizarse para funcionar con la nueva versión, y hasta que eso suceda, deberá mantener Python 2.7.
Esta es la razón por la que nota una gran cantidad de dependencias en el antiguo Python: el sistema depende de ello. Además, no hay nada malo en tener ambas versiones de Python instaladas en el mismo sistema. Y es posible que en el futuro se encuentre con aplicaciones que todavía usan Python 2.7, por lo que mantenerlo es una buena idea.
fuente
Vine aquí en 2019 porque desarrollo en Python3 por defecto y llegué a la misma conclusión que OP después de ver lo que se eliminaría después de ejecutar
apt purge python
Como lo que realmente quería era llamar a Python3 con solo
python
, corríDe esta manera, si todavía se necesita Python2.7, se puede
python2.7
invocar explícitamente mientras que simplemente sepython
llamará por defecto a Python3 debido al enlace simbólico.No tengo ningún script de nivel bash que llame a python2.7, por
python
lo que este cambio no sería perjudicial, mientras que otros sistemas necesitarían que sus scripts se ajustaran en consecuencia si lo hicieran.- El comando "python" en sistemas tipo Unix
Esta respuesta no es una respuesta directa a OP, pero como alguien que tenía una pregunta similar, esta es la funcionalidad que estaba buscando cuando estaba pensando en eliminar 2.7. En lugar de eliminar, solo priorice cuál puede usar
python
.fuente
/usr/bin/python
, mientras que casi todos los script hechos para Python 3 estarán al tanto del cambio y llamaránpython3
en este momento. Dejar quepython
apuntepython2.7
es menos probable que rompa cosas.grep -r "/usr/bin/python" /usr/bin/
debería darle una breve descripción. Probablemente no deshabilitará su sistema, pero puede hacer que algunas cosas no funcionen. Por ejemplosolaar
.