Instalei com sucesso o python 3.3 no Ubuntu 12.10. Como não preciso de várias versões do python, quero remover o python 2.7 existente. Quando tento fazer isso, usando
sudo apt-get remove python2.7
O Ubuntu me avisa que existem muitos componentes dependentes do sistema que também serão removidos. Parece realmente assustador.
Portanto, existe uma maneira de remover o python 2.7 sem remover os componentes dependentes do sistema ou posso direcionar esses dependentes para usar o python 3.3?
python
python-2.7
phoenix bai
fonte
fonte
Respostas:
Você não pode.
No wiki do Ubuntu / Python :
Isso significa que muitos pacotes base têm dependências rígidas do 2.7 e ainda levará muito tempo para migrar as coisas. Observe que o Python 3 possui inúmeras alterações incompatíveis com versões anteriores - não é uma atualização regular do pacote.
Se você realmente deseja se livrar do Python 2.7, terá que aguardar o lançamento do 14.04, mas não há garantia.
fonte
Você não pode e realmente não quer.
O Python mudou drasticamente entre 2.7 e 3.0 e quebrou a compatibilidade com versões anteriores. Os scripts Python que foram escritos para 2.7, usados para suportar uma grande quantidade de infraestrutura do sistema, não necessariamente funcionarão corretamente com o Python 3.x. Esses scripts precisam ser atualizados para funcionar com a nova versão e, até que isso aconteça, você precisará manter o Python 2.7 por perto.
É por isso que você percebe um número tão grande de dependências no Python antigo - o sistema depende disso. Além disso, não há mal algum em ter as duas versões do Python instaladas no mesmo sistema. E você pode se deparar com aplicativos no futuro que ainda usam o Python 2.7, portanto, mantê-lo por perto é uma boa idéia.
fonte
Vim aqui em 2019 porque desenvolvo no Python3 por padrão e cheguei à mesma conclusão que o OP depois de ver o que seria removido após a execução
apt purge python
Desde que eu realmente queria chamar Python3 com apenas
python
, eu corriDessa forma, se o Python2.7 ainda for necessário, ele poderá ser chamado explicitamente com a
python2.7
simples chamadapython
será padronizada para o Python3 por causa do link simbólico.Eu não tenho nenhum script de nível básico que chame python2.7 com,
python
portanto essa mudança não seria perturbadora - enquanto outros sistemas precisariam que seus scripts fossem ajustados de acordo.- O comando "python" em sistemas similares ao Unix
Esta resposta não é uma resposta direta ao OP, mas como alguém que teve uma pergunta semelhante, essa é a funcionalidade que eu estava procurando quando pensava em remover o 2.7. Em vez de excluir, basta priorizar qual deles será usado
python
.fonte
/usr/bin/python
, enquanto quase todos os scripts criados para o Python 3 estarão cientes da mudança e serão chamadospython3
no momento. Deixar depython
apontar parapython2.7
é menos provável que quebrar coisas.grep -r "/usr/bin/python" /usr/bin/
deve fornecer uma breve visão geral. Provavelmente não desativará o sistema, mas poderá fazer com que algumas coisas não funcionem. Por exemplosolaar
.