Erro após a atualização do pip: não é possível importar o nome 'main'

467

Sempre que estou tentando instalar qualquer pacote usando o pip, estou recebendo este erro de importação:

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'


guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

Ele estava funcionando bem antes, não sei por que está lançando esse erro. Eu pesquisei sobre esse erro, mas não consigo encontrar nada para corrigi-lo.

Entre em contato se precisar de mais detalhes. Atualizaremos minha pergunta.

g_p
fonte
1
Discussão adicional neste link .
Diagon
7
Eu tive o mesmo problema porque costumava pip install --upgrade pipatualizar o pip em um servidor em que não tenho privilégios de administrador. A desinstalação do pip python -m pip uninstall pipresolveu meu problema.
Foad 29/08/18
As respostas não me ajudaram. Este foi o meu problema: github.com/pypa/pipenv/issues/2095
Étienne

Respostas:

846

Você deve ter inadvertidamente atualizado o pip do sistema (provavelmente através de algo como sudo pip install pip --upgrade)

O pip 10.x ajusta onde seus internos estão localizados. O pip3comando que você está vendo é um fornecido pelo mantenedor do pacote (provavelmente o debian baseado aqui?) E não é um arquivo gerenciado pelo pip.

Você pode ler mais sobre isso no rastreador de problemas do pip

Você provavelmente não desejará atualizar o pip do sistema e, em vez disso, usar um virtualenv.

Para recuperar o pip3binário, você precisará sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

Se você quiser continuar em "território não suportado" (atualizando um pacote do sistema fora do gerenciador de pacotes do sistema), provavelmente poderá sair em python3 -m pip ...vez de pip3.

Anthony Sottile
fonte
28
sudo apt install python3-pip --reinstallnão corrigiu o problema, no entanto, posso instalar o pacote usando python3 -m pip. Obrigado pela ajuda. Estou marcando como aceito.
g_p
2
@g_p atualizadas as direções "de correcção" - apenas verificou-los em janela de encaixe (eu deveria ter feito isso pela primeira vez!)
Anthony Sottile
6
I needet usar o comando 'python -m pip desinstalação pip' como 'sudo pip desinstalação pip' deu um erro semelhante à pergunta inicial
Mz A
41
Obrigado! Isso ajudou! Use sudo python -m pip uninstall pip && sudo apt install python-pip --reinstallpara python2!
Barmaley # 29/18
1
Funciona para Ubuntu no Windows. A solução é o que @Barmaley sugere para python2 (o interpretador python padrão).
Jdhao #
111

Podemos limpar o erro modificando o arquivo pip.

Verifique a localização do arquivo:

$ which pip

caminho -> / usr / bin / pip

Vá para esse local ( / usr / bin / pip ) e abra o terminal

Entrar: $ sudo nano pip

Você pode ver:

import sys
from pip import main
if __name__ == '__main__':
     sys.exit(main())

Mudar para:

import sys
from pip import __main__
if __name__ == '__main__':
     sys.exit(__main__._main())

então ctrl + o escreve as alterações e sai

Espero que isso faça !!

vijay athithya
fonte
1
Fazer essas alterações não resolveu o problema, mas alterou-o novamente para o texto original. # ¯_ (ツ) _ / ¯
David
2
Eu tentei isso, mas conseguiAttributeError: module 'pip.__main__' has no attribute 'main'
dnnagy
4
Certifique-se de que você escreveu _main () não main ()
Vijay athithya
2
na versão mais recente pip3, o main()é movido para pip._internal. A declaração de importação devem ser alteradas parafrom pip._internal import main
Yossarian42
2
Trabalhou como um encanto! Graças
Nanayakkara mahesh
69

Para a família Ubuntu, usuários Debian, Linux Mint

Graças à explicação de Anthony acima , você pode manter o pip do sistema original (em / usr / bin / e dist-packages /) e remover o pip instalado manualmente (em ~ / .local /) para resolver o conflito:

$ python3 -m pip uninstall pip

O Ubuntu / Debian pip v8.1.1 (16.04) do python3-pippacote debian (veja $ pip3 -V) mostra os mesmos resultados de pesquisa que o pip mais recente v10.0.1 e instala os módulos mais recentes do PyPI. Possui um pipcomando de trabalho (já no $ PATH), além da boa --useropção corrigida desde 2016. Observando as notas de versão do pip , as versões mais recentes são principalmente sobre correções de erros específicas de casos de uso e alguns novos recursos, por isso não todo mundo tem que se apressar em atualizar o pip ainda. E o novo pip 10 pode ser implantado nos virtualenvs do Python, de qualquer maneira.

Mas, independentemente de pips, seu sistema operacional permite instalar rapidamente módulos comuns do Python (incluindo numpy) com o APT, sem a necessidade de pip, por exemplo:
$ sudo apt install python3-numpy python3-scipy(com dependências do sistema)
$ sudo apt install python3-pip(pip com patch do Debian, um pouco mais antigo, mas não importa)

Lembrete de sintaxe de aptidão rápida (consulte os man aptdetalhes):
$ sudo apt update(para ressincronizar os arquivos de índice de pacotes Ubuntu de fontes atualizadas)
$ apt search <python-package-name> (pesquisa de texto completa em todos os pacotes disponíveis)
$ apt show <python-package-name>(exibe a descrição detalhada do pacote)
$ sudo apt install <python-package-name>

Os nomes dos pacotes prefixados python-são para Python 2; e prefixados com python3-são para Python 3 (por exemplo, python3-pandas). Existem milhares e eles passam por testes de integração no Debian e no Ubuntu. A menos que você procure instalar no nível por usuário ( pip install --useropção) ou no virtualenv / venv, o apt pode ser o que você precisa. Esses pacotes de sistema também são acessíveis a partir de envs virtuais, pois o virtualenv volta a usar as libs do sistema na importação se seus envs não fornecerem cópias dos módulos. Seus --usermódulos por usuário instalados sob medida (com pip ) por usuário ~/.local/libtambém os substituirão.

Observe que, como se trata de uma instalação em todo o sistema , você raramente precisará removê-los (é preciso ter cuidado com as dependências do SO). Isso é conveniente para pacotes com muitas dependências do sistema (como com scipy ou matplotlib), pois o APT acompanhará e fornecerá todas as libs do sistema e extensões C necessárias, enquanto no pip você não tem essas garantias .

De fato, para pacotes Python em todo o sistema (em contraste com o usuário, o nível de diretório inicial ou menos), o Ubuntu espera usar o gerenciador de pacotes APT (em vez de sudo pip) para evitar a quebra do SO: sudo pip3direciona o mesmo /usr/lib/python3/dist-packagesdiretório em que o APT armazena o SO módulos sensíveis. As versões recentes do Debian / Ubuntu dependem bastante do Python 3, portanto seus módulos pré-instalados são gerenciados apte não devem ser alterados.

Portanto, se você usar o pip3 installcomando, assegure-se de que ele seja executado em um ambiente de desenvolvimento virtual isolado, como virtualenv ( sudo apt install python3-virtualenv) ou Python3 interno ( -m venv) ou no nível por usuário ( --useropção pip, padrão no Ubuntu) pip desde 2016), mas não em todo o sistema (nunca sudo pip3!), porque o pip interfere na operação do gerenciador de pacotes APT e pode afetar os componentes do Ubuntu OS quando um módulo python usado pelo sistema é alterado inesperadamente. Boa sorte!


P. S. Tudo acima é para a solução 'ideal' (maneira Debian / Ubuntu).

Se você ainda deseja usar o novo pip3 v10 exclusivamente, existem três soluções rápidas:

  • basta abrir uma nova sessão do bash (uma nova guia ou tipo de terminal bash) - e o pip3 v10 fica disponível (consulte pip3 -V). O pip3 v8 do debian permanece instalado, mas está quebrado; ou
  • o comando $ hash -d pip3 && pip3 -V para atualizar o nome do caminho pip3 no $ PATH. O pip3 v8 do debian permanece instalado, mas está quebrado; ou
  • o comando $ sudo apt remove python3-pip && hash -d pip3para desinstalar completamente o pip3 v8 da debian, em favor do seu novo pip3 v10.

Nota: Você sempre precisará adicionar --usersinalizador a qualquer pip não fornecido pela Debian, a menos que esteja em um virtualenv! (ele implementa pacotes python no ~/.local/padrão em python3-pip e python-pip fornecidos pelo debian / ubuntu desde 2016). Seu uso do pip 10 em todo o sistema, fora do virtualenv, não é realmente suportado pelo Ubuntu / Debian. Nunca sudo pip3!

Mais detalhes:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100

Alex C.
fonte
Você pode me ajudar a entender por que instalar uma versão atualizada pip localmente com --user, ou seja sudo, sem , afeta minha capacidade de executar o apt instalado pip? Eu pensei que os dois coexistissem. Mas como esta essência mostra o apt instalado, uma quebra depois de mim python3 -m pip install --user --upgrade pip. Não estou procurando uma solução - estou realmente curioso para entender o que está acontecendo aqui.
George Hawkins
1
@ George Isso acontece devido à incompatibilidade entre as bibliotecas pip e seus wrappers que as importam. Tentar executar o comando pip do sistema imediatamente (sem aplicar nenhuma das soluções ) ainda chamaria a versão do sistema do apt wrap do script do wrap wrap, /usr/bin/pip3em vez da instalada como --user( ~/.local/bin/pip*) de acordo com o sistema operacional $ PATH do sistema operacional ainda definido para executar o versão do sistema da embalagem, mas não suas bibliotecas ..
Alex C.
2
@ George Isso ocorre porque agora existe um pacote pip mais recente instalado, ~/.local/lib/python3.?/site-packages/pipque tem uma precedência sobre o sistema, como nas importações relativas de Python (o site local do usuário tem prioridade sobre as bibliotecas globais). E como o wrapper antigo tenta, em from pip import mainvez de from pip._internalou sua __main__classe, a versão mais recente do pacote pip, o comando pip do gist falha com ImportError: cannot import name 'main'. Assim, ambos os pips podem coexistir (no disco), mas a funcionalidade do sistema original um será "quebrado" ..
Alex C.
+1 para --user. pip install --useré o que fez isso por mim. (Eu tenho Python 2.7, Python 3.6, e python 3.7, todos instalados no Ubuntu 18.04 LTS.)
Stephen G Tuggy
46

resolvido em apenas uma etapa.

Eu também enfrentei esse problema, mas isso pode ser resolvido simplesmente por 1 comando, sem se preocupar e perder tempo, e eu tentei em vários sistemas, é a solução mais limpa para esse problema. E isso é:

Para python3: - sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

Com isso, você pode simplesmente instalar pacotes usando pip3. para verificar o uso pip3 --version.

Para versões mais antigas, use: sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall.

Com isso, agora você pode simplesmente instalar pacotes usando pip. para verificar o uso pip --version.

Saket
fonte
31

Use em python -m pip installvez depip install

Exemplo:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

O executável pip(resp. pip3) É fornecido pela sua distribuição ( python-pippacote no Ubuntu 16.04) e localizado em /usr/bin/pip.

Portanto, ele não é atualizado com o pippróprio pacote à medida que você atualiza o pip e pode ser interrompido.

Se você apenas usar python -m pipdiretamente, por exemplo, como em:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

ele percorre o caminho do Python, encontra a versão mais recente do pip e executa esse arquivo.

Ele se baseia no fato de que o arquivo é executável import, mas esse é um tipo de interface muito padrão e, portanto, menos provável de quebrar do que o script Debian mais hackier.

Então, recomendo adicionar os seguintes aliases ao seu .bashrc:

pip() ( python -m pip "$@" )
pip3() ( python3 -m pip "$@" )

O /usr/bin/pip3arquivo Ubuntu 18.04 faz:

from pip import main

e provavelmente mainfoi removido dopip algum ponto que foi o que quebrou as coisas.

A confirmação do pip de interrupção parece ser: 95bcf8c5f6394298035a7332c441868f3b0169f4 "Mova todas as APIs internas para pip._internal", que foi introduzido no pip 18.0.

Testado no Ubuntu 16.04 após uma atualização de pip39.0.1 para 18.0.

pyenv

Por fim, no entanto, para um desenvolvimento sério do Python, eu recomendaria que você instale o seu próprio Python local com pyenv + virtualenv, que também contornaria esse bug do Ubuntu: /ubuntu/682869/how-do-i- Instalar uma versão diferente do python usando o apt-get / 1195153 # 1195153

Ciro Santilli adicionou uma nova foto
fonte
3
após 5 horas de pesquisa, funcionou para mim. eu posso entregar flores para você se você me enviar o seu endereço. obrigado.
Cagri 10/10
18

Você pode resolver esse problema reinstalando o pip.

Use um dos seguintes comandos de linha de comando para reinstalar o pip:

Python2:

python -m pip uninstall pip && sudo apt install python-pip --reinstall

Python3:

 python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
Codemaker
fonte
8

Estou executando em um sistema em que tenho o sudo apt, mas não o sudo pip. (E sem acesso su.) Entrei nessa mesma situação seguindo os conselhos do pip:

Você está usando o pip versão 8.1.1, porém o 18.0 está disponível. Você deve considerar a atualização através do comando 'pip install --upgrade pip'.

Nenhuma das outras correções funcionou para mim, porque não tenho privilégios de administrador suficientes. No entanto, algumas coisas ficaram comigo ao ler sobre isso:

  • Eu não deveria ter feito isso. Claro, pip me disse. Mentiu.
  • O uso de --user resolve muitos problemas, concentrando-se no diretório somente de usuário.

Então, achei essa linha de comando para trabalhar para me reverter para onde estava. Se você estava usando uma versão diferente da 8.1.1, obviamente desejará alterar essa parte da linha.

python -m pip install --force-reinstall pip==8.1.1 --user

Essa é a única coisa que funcionou para mim, mas funcionou perfeitamente!

Scott Mermelstein
fonte
7

Recuperar com python3 -m pip install --user pip==9.0.1(ou a versão que funcionou)

Claire
fonte
5

A mesma coisa aconteceu comigo no Pixelbook usando o novo LXC (strech). Essa solução é muito semelhante à aceita, com uma diferença sutil, que fixa o pip3 para mim.

sudo python3 -m pip install --upgrade pip

Isso aumentou a versão e agora funciona como esperado.

Encontrei aqui ... Python.org: Verifique se o pip está atualizado

fliptopbox
fonte
4

Encontrei o mesmo problema no meu sistema Ubuntu 16.04. Consegui corrigi-lo reinstalando o pip com o seguinte comando:

curl https://bootstrap.pypa.io/get-pip.py | sudo python3

jkjung13
fonte
Tem a vantagem que você instalá-lo a partir da fonte, e nenhuma das opções acima trabalhou em um ambiente limpo vazio Debian 9 (do meu provedor de servidor dedicado)
Peter Rosemann
enrolando a internet para superusuário, o que poderia dar errado!
Sum1sAdmin
3

Os comandos acima não funcionaram para mim, mas foram muito úteis:

sudo apt purge python3-pip
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
sudo pip3 install jupyter
Pierrot
fonte
2

No ubuntu 18.04.1 Bionic Beaver, você precisa fazer logoff e logon novamente (não é necessário reiniciar) para obter o ambiente adequado.

$ sudo apt install python-pip

$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip install --upgrade pip

$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ exit
<login>

$ pip --version
pip 18.1 from /home/test/.local/lib/python2.7/site-packages/pip (python 2.7)
Jeff Hoye
fonte
1

Eu uso sudo apt remove python3-pip então pipfunciona.

 ~ sudo pip install pip --upgrade
[sudo] password for sen: 
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'
  ~ sudo apt remove python3-pip   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libexpat1-dev libpython3-dev libpython3.5-dev python-pip-whl python3-dev python3-wheel
  python3.5-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-pip
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 569 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 215769 files and directories currently installed.)
Removing python3-pip (8.1.1-2ubuntu0.4) ...
Processing triggers for man-db (2.7.5-1) ...
  ~ pip

Usage:   
  pip <command> [options]
jim gabriel
fonte
1
É porque pipé para o Python 2. O OP usa pip3, a versão do Python 3 do pip, que você acabou de remover. Esses dois são distintos e não são intercambiáveis.
Neinstein
1

Para Python versão 2.7, a solução @Anthony funciona perfeitamente, alterando python3 para python da seguinte maneira:

sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall
ewalel
fonte
1

O que funcionou para eu corrigir o erro com o uso pip3foi:

sudo cp -v /usr/local/bin/pip3 /usr/bin/pip3

Tudo funciona:

 demon@UbuntuHP:~$ pip -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

 demon@UbuntuHP:~$ pip2 -V
 pip 10.0.1 from /home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)

 demon@UbuntuHP:~$ pip3 -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

Talvez a nova versão 10.0.1 do pip não atualize o binário em / usr / bin? (o que parece não acontecer)

EDIT: o mesmo problema ocorre no Ubuntu 18.04. A melhor solução que encontrei é vincular os binários do pip de ou /home/<user/.local/binpara (dependendo da sua preferência), da seguinte maneira:/usr/local/bin/usr/bin

ln -sv /home/<user>/.local/bin/pip /usr/local/bin/pip
ln -sv /home/<user>/.local/bin/pip2 /usr/local/bin/pip2
ln -sv /home/<user>/.local/bin/pip2.7 /usr/local/bin/pip2.7
ln -sv /home/<user>/.local/bin/pip3 /usr/local/bin/pip3
ln -sv /home/<user>/.local/bin/pip3.6 /usr/local/bin/pip3.6

NOTA: substitua <user> pelo seu usuário em execução atual

As versões associadas (mais recentes) estão em:

Versão 3.6:

/home/demon/.local/lib/python3.6/site-packages/pip (python 3.6)

Versão 2.7:

/home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)

cryptoboy
fonte
Este corrigiu o meu problema. As outras respostas não.
Amin Husni
1
Você realmente não deveria estar mexendo diretamente com os arquivos /usr/bin. E, você PATHestá errado se /usr/local/binnão estiver antes /usr/bin.
tripleee
O binário pip não existe no /usr/local/bin. É apenas dentro /home/<user>/.local/bine / ou /home/<user>/.local/lib/python<version>/site-packages/pipnas novas versões (v10.0 + não atualiza a entrada binária /usr/bin). Portanto, a razão pela qual uma cópia ou link simbólico do binário precisa ser criada no ( /usr/binou /usr/local/bindependendo da preferência do usuário) para que o pip possa ser executado globalmente na linha de comando.
Cryptoboy 15/09/19
Os binários de diretório pip existem e devem ser vinculados / copiados de: demon @ Bionic18: ~ / .local / bin $ ls pip pip2 pip2.7 pip3 pip3.6 Os pippadrões binários da versão mais recente instalada no sistema
cryptoboy
0

Truque e funciona também

sudo -H pip install lxml

Tejas Tank
fonte
0

Eu tive esse mesmo erro, mas python -m pipainda estava funcionando, então o corrigi com a opção nuclear sudo python -m pip install --upgrade pip. Isso fez por mim.

Sergiu
fonte
0

Pelo que vale, tive o problema com pip(não pip2ou pip3):

$ pip -V
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

De alguma forma (não me lembro como) eu tinha coisas python instaladas no meu ~/.localdiretório. Depois que removi o diretório pip de lá, pipcomecei a trabalhar novamente.

$ rm -rf /home/precor/.local/lib/python2.7/site-packages/pip
$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Michael Burr
fonte
0

Você pode tentar isso:

sudo ln -sf $( type -P pip ) /usr/bin/pip
Vitthal Sarode
fonte
3
Embora esse código possa responder à pergunta, seria melhor incluir algum contexto, explicando como ele funciona e quando usá-lo. As respostas somente de código não são úteis a longo prazo.
Giulio Caccin
0

Eu também enfrento esse problema quando queria atualizar o sistema pip pip3 enfrentei de 9.0.1 para 19.2.3.

Após a execução pip3 install --upgrade pip, a pipversão se torna 19.2.3. Mas main()foi movido pip._internalpara a versão mais recente, o que deixapip3 quebrado.

Portanto, no arquivo /usr/bin/pip3, substitua line 9: from pip import mainpor from pip._internal import main. O problema será corrigido, funciona da mesma maneira parapython2-pip . (Testado na distribuição Ubuntu 18.04)

De acordo com a resposta de @Vincent H.

Yossarian42
fonte
0

Por favor, execute os seguintes comandos para fazer a correção. Após a execução python3 -m pip install --upgrade pip, execute o seguinte comando.

hash -r pip

Fonte: https://github.com/pypa/pip/issues/5221

Super Nova
fonte
0

você pode simplesmente corrigir os caminhos pip e pip3 usando update-alternatives

primeira coisa que você deve verificar é a sua $PATH corrida atual echo $PATHe veja é que você pode encontrar/usr/local/bin onde é onde o pip3 e o pip geralmente estão

há uma alteração que seu sistema está procurando aqui /bin/pipe, /bin/pip3 portanto, direi corrigir o CAMINHO adicionando ao seu~/.bash_profile arquivo para que ele persista

export PATH=$PATH:/usr/local/bin e depois verifique se está consertado com which pipewhich pip3

se não, então use update-alternativespara consertar finalmente

update-alternatives --install /bin/pip3 pip3 /usr/local/bin/pip3 30

e se você quiser apontar pip para pip3 então

update-alternatives --install /bin/pip pip /usr/local/bin/pip3 30
uberrebu
fonte
0

Isso funcionou para mim!

hash -r pip # or hash -d pip

Agora, desinstale a versão instalada do pip e reinstale-a usando os seguintes comandos.

python -m pip uninstall pip  # sudo
sudo apt install --reinstall python-pip

Se o pip estiver quebrado, use:

python -m pip install --force-reinstall pip

Espero que ajude!

Ebin Zacharias
fonte
-1

importar principal do pip._internal

from pip._internal import main

Edite o código pip de

sudo nano /usr/bin/pip3
Akhilesh NS
fonte
Você pode editar a resposta e especificá-la melhor? Não está muito claro como editar o arquivo /usr/bin/pip3...
M. Volf
-1

Como o @cryptoboy disse - verifique qual versão do pip / python você instalou

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

e verifique as bibliotecas desnecessárias na sua pasta .local / lib /.

Fiz backup das configurações quando estava migrando para o Kubuntu mais recente e tinha a pasta .local / lib / python2.7 / no meu diretório pessoal. Python instalado 3.6. Acabei de remover a pasta antiga e agora tudo funciona muito bem!

Vergil333
fonte
-1

No Debian, você precisará atualizar o apt primeiro ....

sudo apt-get update -qq
sudo apt-get install python-pip -qq
sudo pip install pip --upgrade --quiet
sudo pip2 install virtualenv --quiet

Se você pular 'sudo apt-get update -qq', seu pip ficará corrompido e exibirá o erro 'não é possível encontrar o principal'.

Paul Kenjora
fonte
-1

Este erro pode ser uma permissão. Portanto, teste a execução do comando com o sinalizador -H :

sudo -H pip3 install numpy
Mohsen Abasi
fonte
a questão diz muito claramente ImportError não um erro de permissões
Anthony Sottile
-1

Use o seguinte comando antes da execução de qualquer comando pip

hash -d pip

Vai funcionar

Muhammad Adil
fonte
1
Talvez você possa esclarecer como isso ajudará / + remover quaisquer comentários condescendentes?
elf