Não é possível atualizar um pacote depois de fazer o symlink python-python3

1

Eu já tinha um Anaconda3 instalado no meu Ubuntu, mas depois pensei que não precisaria de duas pythons instaladas simultaneamente. Eu removi o Anaconda, mas a minha versão padrão do Python foi alterada de 3.5 para 2.7 (eu estou usando o Ubuntu 16.04) que eu não sei por quê. Então eu fiz um link simbólico python -> python3 , mas isso parece quebrar as atualizações no meu Ubuntu. Este é o erro que recebo quando tento atualizar o python-crypto_2.6.1-6ubuntu0.16.04.2_amd64.deb package usando apt-get dist-upgrade .

ImportError: No module named 'ConfigParser'. 

que é claramente causado pela tentativa de importar um módulo python2 . Eu posso resolvê-lo mudando para onde python symlink aponta. Mas eu estava procurando uma solução que pudesse evitar problemas futuros e modificações como essa.

    
por Farhad 19.02.2017 / 03:22

1 resposta

3

O Ubuntu tem uma versão do Python 2 e uma versão do Python 3 instalada por padrão.

Mesmo que você não queira fazer nada com eles, é preciso deixá-los respeitosamente como estão, porque muitos dos principais programas do Ubuntu são escritos em Python e dependem do Python. Como muitas perguntas aqui testificam

Se você quebrar o Python, o Ubuntu quebrará

Até agora você não quebrou nada de crítico. Você só precisa excluir o link simbólico que criou, para que os programas que procuram python não encontrem python3 e falhem horrivelmente.

Os links simbólicos padrão em 16.04 em /usr/bin devem ficar assim:

$ ls -l /usr/bin | grep python
lrwxrwxrwx 1 root root           9 Oct 18 12:13 python -> python2.7
lrwxrwxrwx 1 root root           9 Oct 18 12:13 python2 -> python2.7
-rwxr-xr-x 1 root root     3777000 Sep 17 13:08 python2.7
lrwxrwxrwx 1 root root           9 Oct 18 12:13 python3 -> python3.5
-rwxr-xr-x 1 root root     4739496 Sep 22 13:18 python3.5

Você não diz onde criou o seu link simbólico, mas deve removê-lo e certificar-se de ter /usr/bin/python apontando para /usr/bin/python2.7 .

cd /usr/bin ; ls -l           # if you have python -> python3 then
sudo rm python
sudo ln -s python2.7 python
    
por Zanna 19.02.2017 / 10:45