Quando você executa um comando foo
(onde foo
é substituído pelo comando que você está executando), o shell pesquisa todos os diretórios na variável de ambiente PATH
para um arquivo chamado foo
com permissões de execução .
Se não encontrar, então em um sistema Ubuntu com a configuração padrão, ele executa o comando /usr/lib/command-not-found foo
. Isso é feito no arquivo /etc/bash.bashrc
.
Isso é o que produz saída como:
$ foo
No command 'foo' found, did you mean:
Command 'fio' from package 'fio' (universe)
Command 'goo' from package 'goo' (universe)
Command 'fop' from package 'fop' (main)
Command 'fox' from package 'objcryst-fox' (universe)
Command 'xoo' from package 'xoo' (universe)
Command 'zoo' from package 'zoo' (universe)
foo: command not found
E:
$ gnuchess
The program 'gnuchess' is currently not installed. You can install it by typing:
sudo apt-get install gnuchess
O programa command-not-found
em si (por exemplo, /usr/lib/command-not-found
) é um script Python:
$ file /usr/lib/command-not-found
/usr/lib/command-not-found: a /usr/bin/python script text executable
Portanto, se sua instalação do Python estiver corrompida, espera-se que command-not-found
sempre falhe e dê um erro sobre o Python. Você pode corrigir o problema corrigindo a instalação do Python.
O Ubuntu vem com o Python instalado e requer o Python para vários programas (como o Update Manager e o Software Center, por exemplo). Várias versões diferentes do Python estão disponíveis simultaneamente através das fontes de software oficiais e diferentes versões podem ser instaladas simultaneamente sem conflito. No entanto, também é possível instalar o Python manualmente construindo-o a partir da origem. Se você fizer isso, cabe a você certificar-se de que o Python compilado e instalado manualmente não esteja em conflito com nenhuma outra implementação do Python instalada.
Portanto, a primeira coisa que você deve fazer é desinstalar qualquer Python instalado manualmente. Ao instalá-lo, há um diretório no qual você teria executado o comando sudo make install
. Você precisa ir para esse diretório e executar sudo make uninstall
.
Depois de remover todas as instalações manuais do Python (se houver), reinstale completamente o Python:
sudo apt-get update
sudo apt-get --purge --reinstall install python
Isso provavelmente funcionará. Se isso não acontecer, forneça a saída de:
which -a python
file /usr/bin/python /usr/bin/python2.7