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


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


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.


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


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


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


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.


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


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.


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.


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.

3

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

sudo apt remove python pip

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


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


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 "


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


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.


0

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


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


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


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


0

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

yum remove python-pip
yum install python-pip

0

Arreglé este problema por

sudo apt-get install python3-pip

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


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.


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.