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.


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


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.


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


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


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


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.


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.)


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.


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.


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.

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

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


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 :)


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 "


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


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.


0

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


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


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


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


0

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

yum remove python-pip
yum install python-pip

0

Eu resolvi este problema por

sudo apt-get install python3-pip

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


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.