Python3 pip3 instalación rota en Ubuntu

14

Instalé python3 y pip3 con éxito en mi Ubuntu16.04, pero la instalación de pip3 no funciona. ¿Como puedo solucionar este problema? La información de error de pip3 installes la siguiente:

# 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'

Salida 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'

Salida de which pip3y 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'

PS Python2 pip se ejecuta con éxito. Salida de "which pip" y "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)

Y la información de instalación de python y python3:

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

# python -V
Python 2.7.14
# python3 -V
Python 3.6.3  
mlpy
fuente
Dijiste 16.04 en tu publicación pero usaste la etiqueta 14.04. ¿Qué versión es la correcta?
edwinksl
1
16.04 es correcto. No pude encontrar la etiqueta 16.04 en este momento. Lo siento.
mlpy

Respuestas:

12

Hay algo mal con su pip3, así que quítelo y vuelva a instalarlo. Abra la terminal y escriba:

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*  
python3 -m pip install --user xlwt
karel
fuente
3
Intenté pero sigo con el mismo error: imgur.com/a/nAdqU .
mlpy
Probé la nueva solución pero aún el mismo error.
mlpy
Estoy teniendo el mismo problema también. Cuando lo hago sudo apt install python3-pip, me sale el siguiente error:The following packages have unmet dependencies: python3-pip : Depends: python-pip-whl (= 8.1.1-2) but 8.1.1-2ubuntu0.4 is to be installed Recommends: build-essential but it is not going to be installed Recommends: python3-dev (>= 3.2) but it is not going to be installed Recommends: python3-wheel but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Kristada673
@ Kristada673 Intente leer las respuestas a esta pregunta: askubuntu.com/questions/363200/… . La respuesta de DragonLord funcionó para mí.
karel
6

Al instalar el paquete python3-pip, cree un script python en el archivo / usr / bin / pip3. Para ejecutarse, la función main () debe importarse desde el módulo pip ( from pip import main). Esta ruta de método solo está disponible para la versión empaquetada de pip (9.0.1 en mi caso).

Después de ejecutarse pip3 install --upgrade pip, la versión pip se convierte en 18.1, y main () se ha movido pip._internal.

Use el comando python3 -m pip --versionpara ver si su caso corresponde a la misma situación (pip3 también está disponible con este método cuando /usr/bin/pip3está roto).

Si es así, en el archivo / usr / bin / pip3, reemplace la línea 9: from pip import main con: from pip._internal import main

El problema será solucionado. (Probado en la distribución Ubuntu 18.04)

Vincent H.
fuente
Después de cambiar la importación, aparece un error diferenteFile "/usr/bin/pip3", line 11, in <module> sys.exit(main()) TypeError: 'module' object is not callable
Miranda,
2

Esto es lo que he encontrado útil:

  1. sudo rm -rf /usr/local/lib/python3.5/dist-packages
  2. Nunca corras pip3dentro sudo.
Jan Lachnitt
fuente
Si bien eso puede solucionar las cosas, ¿puede ampliar su respuesta? ¿Por qué quitar este directorio (tal vez añadir una advertencia acerca de la python3.5ruta), ¿por qué no volver a ejecutarlo con sudo, y así sucesivamente ..
Robert Riedl
No soy un experto en esto, solo quería compartir lo que me había funcionado.
Jan Lachnitt
1

Primero elimine el pip3 dañado:

rm /user/bin/pip3 /user/local/bin/pip3

Vuelva a instalar el nuevo:

sudo apt-get remove python3-pip
sudo apt-get install python3-pip
邹若奇
fuente
0

Tuve el mismo problema, la instalación de openssl lo arregló para mí

Levántate y ve
fuente
Pero openssl ya lo instalo en mi Ubuntu: imgur.com/a/60kIM . Tal vez sea causado por otra razón.
mlpy
0

Como @Vincent H. mencionó, me encontré con el mismo problema.

Rastreo (última llamada más reciente): Archivo "/home/ashish/.local/bin/pip3", línea 7, desde pip._internal import main ImportError: Ningún módulo llamado 'pip._internal'

La solución al problema fue la de sustituir pip._internala pipen .local/bin/pip3haciendo sudo gedit .local/bin/pip3.

El perezoso
fuente
0

Este es un problema, pero puedes solucionarlo.

rm /user/bin/pip3 /user/local/bin/pip
sudo apt-get remove python-pip

que reinstalar

sudo apt-get install python-pip
Hola
fuente