Estou usando a versão Debian 9.5 Stretch. Estou tendo um erro de importação ao usar o pip. Quando tento usar o pip, ele diz:
No entanto, eu posso usar python:
Eu tenho duas versões do python instaladas: 2.7 e 3.5
Saída cujo pip: /usr/bin/pip
Quando tentei reinstalá-lo usando o apt-get pip funcionou completamente bem pela primeira vez, mas na próxima vez mostra o mesmo erro
Conteúdo de /usr/bin/
Não sei qual é o problema.
which pip
à sua pergunta. Além disso, você instalou o 3.5 viaapt-get
ou foi compilado?/usr/bin
, há mais de umpython
epip
comopython
epython3
epip
epip3
?Respostas:
Provavelmente, isso aconteceu porque você estava usando dois gerenciadores de pacotes diferentes (
dpkg
ou o frontendapt-get
e opip
próprio) no mesmo prefixo (/usr
). Eu assumo queapt-get upgrade
atualização algumas dependências, mas alguns outros arquivos que foram instalados porpip
não se atualizado porquedpkg
eapt-get
simplesmente não sabia sobre eles ORapt-get remove
, comoapt-get
não estava ciente de nada usando esse pacote (como o outro pacote foi instaladopip
e, portanto, não está nodpkg
banco de dados), ele não avisou sobre a quebra de outros pacotes.Sem saber quais pacotes foram instalados com qual gerenciador de pacotes, não posso dar conselhos realmente específicos sobre como reparar seu sistema, apenas conselhos gerais:
Não use vários gerenciadores de pacotes diferentes. Sempre use apenas um gerenciador de pacotes para uma (sub-) árvore do seu sistema de arquivos, ou você terá inconsistências e / ou conflitos. Gerenciador de pacotes do Debian para a
/usr
árvore é chamadadpkg
, e sem chamá-lo ninguém deve jamais tocar/usr
.Certamente não ajuda que a maioria das pessoas relacionadas a python que você encontra tente forçar o pip, chegando ao ponto de pedir
sudo pip install
; não. Existem pacotes de distribuição que contêm coisas de python por um motivo. Veja também esta pergunta relacionada no AskUbuntu e esta resposta no StackOverflow .Você pode tentar reparar a bagunça instalando um pip novo com
no entanto, pode haver arquivos deixados para trás que possam interferir, os quais
dpkg
não sabem como foram instaladospip
. A maneira infalível seria checar todos os arquivos/usr/lib/python*
se eles pertencem a um pacote debian e, se não, excluí-los sem exceção.Novamente, única utilizar
dpkg
e suas ferramentas de front-end, comoapt-get
,aptitude
,synaptic
, ... para modificar/usr
. Se você precisar instalar algo em todo o sistema que não esteja disponível como.deb
pacote, crie um pacote e instale-odpkg
ou instale-o em/usr/local
.fonte
apt-get purge python-pip
eapt-get purge python3-pip
separadamente.SyntaxError: invalid syntax dpkg: error processing package python-pip (--remove): subprocess installed pre-removal script returned error exit status 1 Traceback (most recent call last): File "/usr/bin/pycompile", line 35, in <module> from debpython.version import SUPPORTED, debsorted, vrepr, \ File "/usr/share/python/debpython/version.py", line 24, in <module> from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser' dpkg: error while cleaning up: subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: python-pip E: Sub-process /usr/bin/dpkg returned an error code (1)
Defina python2.7 como padrão:
selecione python2.7.
Remover
pip
:Reinstale-o:
Verifique o
pip --version
:Não atualize
pip
para a versão mais recente.fonte
Do you want to continue? [Y/n] y (Reading database ... 334637 files and directories currently installed.) Removing python-pip (9.0.1-2) ... File "/usr/bin/pyclean", line 63 except (IOError, OSError), e: ^ SyntaxError: invalid syntax dpkg: error processing package python-pip (--remove): subprocess installed pre-removal script returned error exit status 1
dpkg: error while cleaning up: subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: python-pip E: Sub-process /usr/bin/dpkg returned an error code (1)