pip: nenhum módulo denominado _internal

98

Eu tenho um problema quando tento usar o pip de alguma forma. Estou usando o Ubuntu 16.04.4

Devo dizer que já usei e nunca tive problema, mas a partir de hoje quando uso qualquer comando sempre recebo o mesmo erro (como exemplo usando pip --upgrade).

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ImportError: No module named _internal

Eu tentei fazer sudo apt-get remove python-pipseguido por, sudo apt-get install python-pipmas nada mudou.

Grimdrem
fonte
Certifique-se de que /usr/local/lib/pythonX.X/site-packagesprecede /usr/lib/pythonX.X/site-packagesem seu $PATH.
hoefling de
O mesmo problema aqui. Você encontrou uma solução?
WayBehind de
3
@WayBehind eu encontrei uma solução. Percebi que usar python -m piptudo funciona bem. Ao lado disso, retirei o arquivo /usr/local/bin/pip, agora chamando pip -Vreturn pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7). Tudo parece funcionar conforme o esperado.
Grimdrem de
Continuo com o mesmo problema, estou usando pip no ambiente conda, python 2.7 e estou usando pip install ipdb. Alguma ideia sobre isso?
Garvita Tiwari
1
Seguiu as etapas mais a bandeira -H:sudo -H python3.7 get-pip.py --force-reinstall
Andres Leon Rangel

Respostas:

112

Isso fez por mim:

python -m pip install --upgrade pip

Ambiente: OSX && Python instalado via brew

nascimento mágico
fonte
6
Obrigado, esta foi a solução para mim usando o python3.
Furbeenator
2
Isto não funcionou para mim. o que @Grimdrem fez foi o que eu acabei fazendo. Eu tinha (no passado) instalado o pip para todos (usando sudo ou algo assim) ... e minha atualização era com --user, então a outra instalação ainda ficava pendurada ... removendo-o de / usr / local / bin e do meu a pasta de pacotes principal do python (não --user) resolveu o problema.
user1269942
Estranhamente, isso também corrigiu aqui. Eu deveria atualizar o #searx para o commit mais recente.
Roland
Encontrei isso no Ubuntu no WSL. Eu também uso pyenv, mas tinha de alguma forma abafado o sistema python que vimusa. Isso colocou as coisas onde elas precisavam estar. E agora taskwikifunciona novamente. Uau!
Daniel Black
Obrigado, isso funciona para mim, estou usando o python 3.8
Onaapo
62

Uma resposta de askUbuntu funciona.

Para pip2.7, você pode primeiro curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py, depois python2.7 get-pip.py --force-reinstallreinstalar o pip.

Problema resolvido. Também funciona para python3.

YongHao Hu
fonte
6
Isso não está funcionando para mim, tentei algumas vezes
Cleve Green
1
Eu consertei reinstalando o python, o que foi uma dor absoluta agora que não tenho nenhum dos meus módulos anteriores
Cleve Green
Apenas mordido por este problema, parece ser um pouco de um cluster que apt-get install python-pipnão funciona em 16.04.4 e você recorrer a instaladores de blob binários?
Joe
1
para fazer o trabalho que eu tinha que remover todos os meus laterais sistema pip coisas:apt-get remove python-pip-whl
Jan
"Permissão negada". Você provavelmente precisará usar o sudo. A maioria das distros não permite que usuários convencionais instalem todo o sistema pip.
Cerin
21

Esta solução funciona para mim:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

ou use sudo para permissões elevadas ( sudo python3 get-pip.py --force-reinstall).

Claro, você também pode usar em pythonvez de python3;)

Fonte

Abdallah Okasha
fonte
19

Consulte esta lista de problemas

sudo easy_install pip

funciona para mim no Mac OS

Pois python3, pode tentar sudo easy_install-3.x pipdepende da versão python 3.x. Oupython3 -m pip install --user --upgrade pip

zangw
fonte
1
Esse é o antigo Python2. No Ubuntu Python3, pelo menos, você também deve executar sudo easy_install-3.4 pipou semelhante.
NoBugs
11

No arquivo "/ usr / local / bin / pip" mude from pip._internal import main parafrom pip import main

GauthamGAjith
fonte
9

Este problema pode ser devido ao usuário comum não ter privilégio de acessar o arquivo py de pacotes.
1. usuário root pode executar 'lista de pip'
2. outro usuário comum não pode executar 'lista de pip'

[~]$ pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal

Verifique o privilégio do arquivo pip py.

[root@]# ll /usr/lib/python2.7/site-packages/pip/  
合計 24  
-rw-------  1 root root   24  6  7 16:57 __init__.py  
-rw-------  1 root root  163  6  7 16:57 __init__.pyc  
-rw-------  1 root root  629  6  7 16:57 __main__.py  
-rw-------  1 root root  510  6  7 16:57 __main__.pyc  
drwx------  8 root root 4096  6  7 16:57 _internal  
drwx------ 18 root root 4096  6  7 16:57 _vendor  

solução: login do usuário root e execução

chmod -R 755 /usr/lib/python2.7 

consertar esse problema.

Yi Yang Apollo
fonte
Finalmente, uma explicação lógica de qual é o problema realmente. A reinstalação pode resolver o problema, mas esse é o verdadeiro motivo pelo qual não está funcionando.
Maxime Viargues
6

Para completar, acabei de encontrar este problema com "Ubuntu mais recente" ... v18.04 ... e corrigi-lo desta forma:

python3 -m pip install --upgrade pip

(Observe que foi necessário especificar python3uma vez que isso faz referência ao Python 3.6.9. O pythoncomando no mesmo sistema faz referência ao Python 2.7.17. Como esta é aparentemente uma instalação de todo o sistema, encontrou uma permissão ["não sudo" ...] erro, mas não importava porque era a coisa errada a fazer de qualquer maneira. Eu estava encontrando o problema com pip3.)

Mike Robinson
fonte
Recebi o erro no such option: --upradeno seu comando - então corri python3 -m pip install pipe funcionou :)
Xerus
5

Eu vi esse problema quando PYTHONPATHfoi definido para incluir o site-packagesdiretório interno. Como o Python aparece lá automaticamente, é desnecessário e pode ser removido.

Levi Morrison
fonte
2
Isso resolveu para mim, obrigado. Simplesmente salvei $ PYTHONPATH em algum lugar e corri export PYTHONPATH=""para fazer o pip funcionar.
ibowman
mas ao tentar echo $ PYTHONPATH, os pacotes de sites não foram incluídos.
alyssaeliyah
Eu encontrei isso ao construir um ambiente virtual em um sistema que usa módulos para gerenciar pacotes de software. Quando eu carreguei você diz "module load python / 3.5.2" e ele precede seu PYTHONPATH. Então, quando eu ativei meu env virtual, ele nunca desconfigurou meu PYTHONPATH, o que significava que encontrou o nível do sistema pipe não aquele em meu virtualenv.
irritable_phd_syndrom
4

Acabei de encontrar o mesmo problema e, no meu caso, descobri que este é um conflito entre a instalação do python no meu virtualenv e o python em todo o site (Ubuntu). O que resolve isso para mim é executar o pip dessa forma, para forçar o uso da instalação correta do python (em meu vortualenv):

python3 -m pip install PACKAGE

ao invés de

pip3 install PACKAGE

Percebi isso quando tentei seguir algumas das respostas aqui que sugerem a reinstalação do pip e a saída de erro que recebi estava apontando para um caminho de biblioteca python existente em todo o site, embora eu tivesse ativado meu virtualenv. Vale a pena tentar antes de excluir e reinstalar o material.

tospo
fonte
Conforme mencionado nesta resposta stackoverflow.com/a/50737296/1340995 é um problema de permissão. Descobri que usar pip com python3 -m pipresolve esse problema também, provavelmente porque pythontem permissão para executar e não precisa de pip para ter a permissão + x, pois está apenas carregando o arquivo e não o executando.
Maxime Viargues
3

Você está usando python2 ou python3? O seguinte comando pode ser diferente!

  1. use python3 -m pip --versionpara ver se você tem o pip instalado.
  2. se sim, corra python3 -m pip install --upgrade pip.
  3. se não, corra sudo apt-get install python3-pipe faça de novo.
Dongcheng Wang
fonte
3

Provavelmente devido a um conflito de versão, tente executar isso, ele removerá o pip antigo de alguma forma.

sudo apt remove python pip
Tinashe Makuti
fonte
Pelo que vale a pena, esta parece ser a solução para uma distribuição semelhante ao Debian ( por exemplo , Ubuntu 16.04), onde o python-pippacote foi instalado no nível da distro e get-pip.pyfoi usado para uma versão específica do usuário pipque também estava no $PATH. Fiz sudo apt-get removeo python-pippacote (2.7) e usei o que está em meu ~ / .local / bin. Não há mais mensagem de erro.
TheDudeAbides
3

Para mim

python -m pip uninstall pip

resolveu o problema. Referência

Hariszaman
fonte
2

Corrigi esse erro executando os seguintes comandos:

sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Isso removerá o pip instalado anteriormente e o reinstalará. Obrigado :)

Ateeb
fonte
1

A solução a seguir resolveu o problema em minha máquina para python2.7 "$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py" e "$ sudo python2.7 get-pip .py --force-reinstalar "

Merwanski
fonte
1
Este funciona para mim, mas você deve alterá-lo para a versão python que está usando. sudo python3 get-pip.py --force-reinstalar. Ótimo.
alyssaeliyah
1

Apenas para o usuário atual:

easy_install --user pip

ou

python -m pip install --upgrade --user pip

O segundo pode dar /usr/bin/python: No module named pip Even if which pipencontra o módulo chamado pip. Neste caso, tente oeasy_install

Mihai.Mehe
fonte
1

Encontrei o mesmo erro no Windows quando tentei instalar um pacote via pip3:

Traceback (most recent call last):
  File "d:\anaconda\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\anaconda\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda\Scripts\pip3.6.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip._internal'

Meu python é instalado via Anaconda. Resolvi esse problema reinstalando o pip via conda:

conda install pip

Depois disso, o pip retorna ao normal.

jdhao
fonte
0

Nada funcionou para mim, mas apenas uma coisa: usei o sudo na frente do comando e está funcionando bem.

GeorgesD
fonte
Meu caso era mais estranho porque "sudo" ainda me dava o mesmo erro. Tive que mudar para root (sudo su no ubuntu) para poder fazer a lista pip3.5 e instalar o pip3.5: |
jmng
0

Eu tenho o mesmo problema no meu ambiente virtual após atualizar a instalação do python de 3.6 para 3.7, mas apenas no vent globalmente pip funciona bem, para resolvê-lo eu desativo e excluo meu ambiente virtual após recriar novamente e agora está bom, no venv:

deactivate
rm -rvf venv 

e depois recriar o ambiente virtual. Eu uso mac OS 10.11 e python 3

Bayocr
fonte
0

(No Windows) não tenho certeza por que isso estava acontecendo, mas eu tinha minha configuração PYTHONPATH para apontar para c: \ python27 onde o python foi instalado. em combinação com o virtualenv, isso produziu o bug mencionado.

resolvido removendo o PYTHONPATH env var todos juntos

Gil Hiram
fonte
0

minha solução: primeiro passo como a maioria das outras respostas:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python2.7 get-pip.py --force-reinstall

segundo, adicione soft link

sudo ln -s /usr/local/bin/pip /usr/bin/pip
John
fonte
0

você pode removê-lo primeiro e instalar novamente, ficará tudo bem. para centos:

yum remove python-pip
yum install python-pip
user3890444
fonte
0

Eu resolvi este problema por

sudo apt-get install python3-pip

funcionou até mesmo para python2.7, incrível ...

Yu Jiaao
fonte
0

Minha solução é adicionar import pipao script vinculado aos pip/pip3comandos.

Em primeiro lugar, abra o arquivo (por exemplo /usr/local/bin/pip) com seu editor de texto favorito e o modo sudo. Por exemplo, eu uso sudo vim /usr/local/bin/pippara abrir o arquivo de script.

Você obterá alguns arquivos da seguinte forma:

import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Em seguida, insira a declaração import pippouco antes de from pip._internal import mainentão o problema está resolvido.

N.Hung
fonte
0

Isso geralmente vem do uso de pip para "atualizar" o pip instalado no sistema e / ou com várias instalações de pip sob o usuário. Minha solução foi limpar os vários pips instalados sob o usuário, reinstalar o pip repo e, em seguida, "pip install --user pip" como acima.

Consulte: https://github.com/pypa/pip/issues/5599 para uma discussão oficial completa e correções para o problema.

user2898616
fonte
0

Tentei o seguinte comando para resolver o problema e funcionou para mim:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall
abbas khan
fonte