Python3 pip3 instala quebrado no Ubuntu

5

Eu instalei python3 e pip3 com sucesso no meu Ubuntu16.04, mas a instalação do pip3 está quebrada. Como posso resolver este problema? As informações de erro de pip3 install são as seguintes:

# pip3 install xlwt
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

Saída de sudo -H pip3 install --upgrade pip

sudo -H pip3 install --upgrade pip  
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

Saída de which pip3 e pip3 --version :

# which pip3
/usr/bin/pip3

# pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
    from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

P.S. Python2 pip é executado com sucesso. Saída de "which pip" e "pip --version":

# which pip
/usr/bin/pip

# pip --version
pip 1.5.4 from /usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg (python 2.7)

E informações de instalação em python e python3:

# which python
/usr/bin/python
# which python3
/usr/bin/python3

# python -V
Python 2.7.14
# python3 -V
Python 3.6.3  
    
por mlpy 26.10.2017 / 13:18

5 respostas

6

Há algo errado com o seu pip3, então remova-o e reinstale-o. Abra o terminal e digite:

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 xlwt
    
por karel 26.10.2017 / 13:52
2

Instalando o pacote python3-pip, crie um script python no arquivo / usr / bin / pip3. Para executar, a função main () precisa ser importada do pip do módulo ( from pip import main ). Este caminho de método só está disponível para a versão empacotada do pip (9.0.1 no meu caso).

Depois de executar pip3 install --upgrade pip , a versão pip se torna 18.1 e main () foi movido em pip._internal .

Use o comando python3 -m pip --version para ver se o seu caso corresponde à mesma situação (o pip3 também está disponível com este método quando /usr/bin/pip3 está corrompido).

Se sim, no arquivo / usr / bin / pip3, substitua a linha 9: %código% com: from pip import main

O problema será corrigido. (Testado na distribuição do Ubuntu 18.04)

    
por 02.01.2019 / 18:03
1

Isso é o que achei útil:

  1. sudo rm -rf /usr/local/lib/python3.5/dist-packages
  2. Nunca execute pip3 em sudo .
por Jan Lachnitt 22.01.2018 / 15:26
0

Teve o mesmo problema, instalar o openssl corrigiu para mim

    
por getupandgo 26.10.2017 / 13:56
0

Como @Vincent H. mencionou, eu encontrei o mesmo problema.

Traceback (most recent call last): File "/home/ashish/.local/bin/pip3", line 7, in from pip._internal import main ImportError: No module named 'pip._internal'

A correção do problema foi substituir pip._internal to pip in .local/bin/pip3 fazendo sudo gedit .local/bin/pip3 .

    
por 12.03.2019 / 16:45