Isso provavelmente aconteceu porque você estava usando dois gerenciadores de pacotes diferentes ( dpkg
ou seu frontend apt-get
e pip
em si) no mesmo prefixo ( /usr
). Eu suponho que ou
- um
apt-get upgrade
recente atualizando algumas dependências, mas alguns outros arquivos que foram instalados porpip
não foram atualizados porquedpkg
eapt-get
simplesmente não sabiam sobre eles OU - você removeu um pacote com
apt-get remove
e comoapt-get
não estava ciente de nada usando este pacote (como o outro pacote foi instalado porpip
e, portanto, não no banco de dadosdpkg
), não avisá-lo sobre a quebra de outros pacotes.
Sem saber quais pacotes foram instalados com qual gerenciador de pacotes, não posso dar nenhum conselho específico sobre como consertar seu sistema, apenas conselhos gerais:
Não use vários gerenciadores de pacotes diferentes. Somente use um gerenciador de pacotes para uma (sub) árvore do seu sistema de arquivos, ou você obterá inconsistências e / ou conflitos. O gerenciador de pacotes do Debian para a árvore /usr
é chamado de dpkg
e, sem chamá-lo de noone , deve sempre tocar em /usr
.
Certamente não ajuda que a maioria das pessoas relacionadas ao Python que você encontrará tentem empurrar o pip, chegando até mesmo a dizer sudo pip install
; não faça Existem pacotes de distribuição contendo material python por um motivo. Veja também esta questão relacionada no AskUbuntu e esta resposta no StackOverflow .
Você pode tentar reparar a bagunça instalando um pip novo com
apt-get purge python-pip python3-pip
apt-get install python-pip python3-pip
no entanto, pode haver arquivos deixados para trás que possam interferir, o que dpkg
não sabe como foram instalados por pip
. A maneira infalível seria verificar todos os arquivos em /usr/lib/python*
se eles pertencem a um pacote debian e, se não, excluí-los sem exceção.
Novamente, somente usa dpkg
e suas ferramentas front-end, como apt-get
, aptitude
, synaptic
, ... para modificar /usr
. Se você precisar instalar qualquer coisa em todo o sistema que não esteja disponível como .deb
package, crie um pacote e instale-o com dpkg
ou instale-o em /usr/local
.