pip: ningún módulo llamado _internal

98

Tengo un problema cuando intento usar pip de alguna manera. Estoy usando Ubuntu 16.04.4

Debo decir que ya lo he usado y nunca tuve ningún problema, pero a partir de hoy, cuando uso cualquier comando, siempre obtengo el mismo error (como un ejemplo de uso 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

He intentado hacer sudo apt-get remove python-pipseguido de sudo apt-get install python-pippero nada cambió.

Grimdrem
fuente
Asegúrese de que /usr/local/lib/pythonX.X/site-packagesprecede /usr/lib/pythonX.X/site-packagesen su $PATH.
hoefling
El mismo problema aquí. ¿Encontraste una solución?
WayBehind
3
@WayBehind encontré una solución. Noté que usar python -m piptodo funciona bien. Además de eso, eliminé el archivo /usr/local/bin/pip, ahora llamando a pip -Vreturn pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7). Todo parece funcionar como se esperaba.
Grimdrem
Todavía tengo el mismo problema, estoy usando pip en el entorno conda, python 2.7 y estoy usando pip install ipdb. ¿Alguna idea sobre esto?
Garvita Tiwari
1
Seguí los pasos más la bandera -H:sudo -H python3.7 get-pip.py --force-reinstall
Andres Leon Rangel

Respuestas:

112

Esto lo hizo por mí:

python -m pip install --upgrade pip

Entorno: OSX && Python instalado a través de brew

Magia de nacimiento
fuente
6
Gracias, esta fue la solución para mí usando python3.
Furbeenator
2
Esto no funcionó para mí. lo que hizo @Grimdrem es lo que terminé haciendo. Tenía (en el pasado) instalado pip para todos (usando sudo o algo así) ... y mi actualización fue con --user, por lo que la otra instalación todavía colgaba ... eliminándola de / usr / local / bin y de mi La carpeta del paquete principal de Python (no la del usuario) hizo el truco.
user1269942
Curiosamente, esto también lo ha solucionado aquí. Tenía que actualizar #searx a la última confirmación.
Roland
Me encontré con esto en Ubuntu en WSL. También uso pyenv, pero de alguna manera había silenciado el sistema python que vimusa. Esto puso las cosas donde tenían que estar y ahora taskwikifunciona de nuevo. ¡Uf!
Daniel Black
Gracias, esto funciona para mí, estoy usando Python 3.8
Onaapo
62

Una respuesta de askUbuntu funciona.

Para pip2.7, primero puede curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py, luegopython2.7 get-pip.py --force-reinstall reinstalar pip.

Problema resuelto. También funciona para python3.

YongHao Hu
fuente
6
Esto no me funciona, lo he intentado varias veces
Cleve Green
1
Lo arreglé reinstalando Python, lo cual fue un dolor absoluto ahora que no tengo ninguno de mis módulos anteriores
Cleve Green
Simplemente mordido por este problema, parece ser un clúster que apt-get install python-pipno funciona en 16.04.4 y ¿recurres a instaladores de blobs binarios?
Joe
1
Para que funcione tuve que quitar todas mis secundarios en el sistema de pepita cosas:apt-get remove python-pip-whl
Ene
"Permiso denegado". Probablemente necesite usar sudo. La mayoría de las distribuciones no permiten que los usuarios de vainilla instalen pip en todo el sistema.
Cerin
21

Esta solución funciona para mí:

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

o use sudo para permisos elevados ( sudo python3 get-pip.py --force-reinstall).

Por supuesto, también puedes usar en pythonlugar de python3;)

Fuente

Abdallah Okasha
fuente
19

Consulte esta lista de problemas

sudo easy_install pip

funciona para mí en Mac OS

Porque python3, puede intentarlo sudo easy_install-3.x pipdepende de la versión de python 3.x. Opython3 -m pip install --user --upgrade pip

zangw
fuente
1
Eso es viejo Python2. En Python3 Ubuntu al menos también debería ejecutar sudo easy_install-3.4 pipo similar.
NoBugs
11

En el archivo "/ usr / local / bin / pip" cambie from pip._internal import main afrom pip import main

GauthamGAjith
fuente
9

Este problema puede deberse a que el usuario común no tiene privilegios para acceder al archivo py de paquetes.
1. el usuario root puede ejecutar 'pip list'
2. otro usuario común no puede ejecutar 'pip list'

[~]$ 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

Compruebe el privilegio del archivo 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  

solución: inicio de sesión de usuario root y ejecutar

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

solucione este problema.

Yi Yang Apolo
fuente
Finalmente, una explicación lógica de cuál es realmente el problema. La reinstalación podría resolver el problema, pero esa es la verdadera razón por la que no funciona en primer lugar.
Maxime Viargues
6

Para completar, acabo de encontrar este problema con "Ubuntu último" ... v18.04 ... y lo solucioné de esta manera:

python3 -m pip install --upgrade pip

(Tenga en cuenta que era necesario especificar python3ya que esto hace referencia a Python 3.6.9. El pythoncomando en el mismo sistema hace referencia a Python 2.7.17. Dado que aparentemente se trata de una instalación de todo el sistema, encontró un permiso ["no sudo" ...] error, pero no importaba porque de todos modos era algo incorrecto. Estaba encontrando el problema con pip3.)

Mike Robinson
fuente
Recibí el error no such option: --upradeen su comando, así que lo ejecuté python3 -m pip install pipy funcionó :)
Xerus
5

He visto este problema cuando PYTHONPATHse configuró para incluir el site-packagesdirectorio integrado . Dado que Python busca allí automáticamente, no es necesario y se puede eliminar.

Levi Morrison
fuente
2
Esto me solucionó, gracias. Simplemente guardé $ PYTHONPATH en algún lugar, luego corrí export PYTHONPATH=""para que pip funcionara.
ibowman
pero al intentar echo $ PYTHONPATH, los paquetes del sitio no se incluyeron.
alyssaeliyah
Encontré esto al construir un entorno virtual en un sistema que usa módulos para administrar paquetes de software. Cuando lo cargué, di "módulo de carga de python / 3.5.2" y antepone su PYTHONPATH. Luego, cuando activé mi entorno virtual, nunca desarmó mi PYTHONPATH, lo que significaba que encontró el nivel del sistema pipy no el de mi virtualenv.
irritable_phd_syndrom
4

Acabo de encontrar el mismo problema y, en mi caso, resulta que este es un conflicto entre la instalación de Python en mi virtualenv y Python en todo el sitio (Ubuntu). Lo que me resuelve es ejecutar pip de esta manera, para forzar el uso de la instalación correcta de Python (en mi vortualenv):

python3 -m pip install PACKAGE

en vez de

pip3 install PACKAGE

Me di cuenta de esto cuando traté de seguir algunas de las respuestas aquí que sugieren reinstalar pip y el resultado de error que obtuve apuntaba a una ruta de biblioteca de Python existente en todo el sitio, aunque había activado mi virtualenv. Vale la pena intentarlo antes de eliminar y reinstalar cosas.

tospo
fuente
Como se menciona en esta respuesta, stackoverflow.com/a/50737296/1340995 es un problema de permisos. Encontré que usar pip conpython3 -m pip resuelve este problema también, probablemente porque pythontiene permiso para ejecutar y no necesita que pip tenga el permiso + x, ya que solo está cargando el archivo y no ejecutándolo.
Maxime Viargues
3

¿Estás usando python2 o python3? ¡El siguiente comando podría ser diferente!

  1. use python3 -m pip --versionpara ver si tiene pip instalado.
  2. si es así, corre python3 -m pip install --upgrade pip.
  3. si no, corre sudo apt-get install python3-pipy hazlo de nuevo.
Dongcheng Wang
fuente
3

Probablemente se deba a un conflicto de versiones, intente ejecutar esto, eliminará el pip anterior de alguna manera.

sudo apt remove python pip
Tinashe Makuti
fuente
Por lo que vale, esta parece ser la solución para una distribución similar a Debian ( por ejemplo , Ubuntu 16.04) donde el python-pippaquete se instaló en el nivel de distribución y get-pip.pyse usó para una versión específica del usuario pipque también estaba en el $PATH. I sudo apt-get removeD del python-pippaquete (2.7) y se utiliza el de mi ~ / .local / bin en lugar. No más mensaje de error.
TheDudeAbides
3

Para mi

python -m pip uninstall pip

resuelto el problema. Referencia

hariszaman
fuente
2

He solucionado este error ejecutando los siguientes comandos:

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

Eliminará el pip previamente instalado y lo reinstalará. Gracias :)

Ateeb
fuente
1

La siguiente solución resolvió el problema en mi máquina para python2.7 "$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py" y luego "$ sudo python2.7 get-pip .py --force-reinstall "

Merwanski
fuente
1
Este funciona para mí, sin embargo, debes cambiarlo a la versión de Python que estás usando. sudo python3 get-pip.py --force-reinstall. Excelente.
alyssaeliyah
1

Solo para el usuario actual:

easy_install --user pip

o

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

El segundo puede dar /usr/bin/python: No module named pip Even si which pipencuentra el módulo llamado pip. En este caso pruebe eleasy_install

Mihai.Mehe
fuente
1

Encontré el mismo error en Windows cuando intenté instalar un paquete a través de 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'

Mi Python se instala a través de Anaconda. Resolví este problema reinstalando pip a través de conda:

conda install pip

Después de eso, pip vuelve a la normalidad.

jdhao
fuente
0

Nada funcionó para mí, pero solo una cosa: usé sudo delante del comando y está funcionando bien.

GeorgesD
fuente
Mi caso fue más extraño porque "sudo" todavía me dio el mismo error. Tuve que cambiar a root (sudo su en ubuntu) para poder hacer la lista pip3.5 y la instalación de pip3.5: |
jmng
0

Tengo el mismo problema en mi entorno virtual después de actualizar la instalación de Python de 3.6 a 3.7, pero solo en la ventilación global, el pip funciona bien, para resolverlo, desactivo y elimino mi entorno virtual después de volver a crearlo y ahora está bien, en venv:

deactivate
rm -rvf venv 

y luego recrear el entorno virtual. Yo uso mac OS 10.11 y python 3

bayocr
fuente
0

(En Windows) no estoy seguro de por qué sucedía esto, pero tenía mi configuración de PYTHONPATH para apuntar a c: \ python27 donde se instaló Python. en combinación con virtualenv esto produjo el error mencionado.

resuelto eliminando la var env PYTHONPATH todos juntos

Gil Hiram
fuente
0

mi solución: primer paso como la mayoría de las otras respuestas:

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

segundo, agregue un enlace suave

sudo ln -s /usr/local/bin/pip /usr/bin/pip
Juan
fuente
0

puede eliminarlo primero e instalarlo de nuevo, estará bien. para centos:

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

Arreglé este problema por

sudo apt-get install python3-pip

esto funcionó incluso para python2.7, increíble ...

Yu Jiaao
fuente
0

Mi solución es agregar import pipal script vinculado alpip/pip3 comandos.

En primer lugar, abra el archivo (por ejemplo /usr/local/bin/pip) con su editor de texto favorito y el modo sudo. Por ejemplo, yo usosudo vim /usr/local/bin/pip para abrir el archivo de script.

Obtendrá algún archivo de la siguiente manera:

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

Luego, inserte la declaración import pipjusto antes de from pip._internal import mainque se resuelva el problema.

N.Hung
fuente
0

Estos a menudo provienen del uso de pip para "actualizar" el sistema instalado pip, y / o tener varias instalaciones de pip bajo el usuario. Mi solución fue limpiar los múltiples pips instalados en user, reinstalar pip repo, luego "pip install --user pip" como arriba.

Consulte: https://github.com/pypa/pip/issues/5599 para obtener una discusión oficial completa y soluciones para el problema.

usuario2898616
fuente
0

Probé el siguiente comando para resolver el problema y funcionó para mí:

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