ImportError después de la instalación pip exitosa

He instalado con éxito una biblioteca con pip install . Pero cuando trato de importarlo, Python genera ImportError: No module named . ¿Por qué recibo este error y cómo puedo usar la biblioteca instalada?

TL; DR : A menudo hay múltiples versiones de intérpretes de Python y versiones de pip presentes. El uso de python -m pip install lugar de pip install asegurará que la biblioteca se instale en el intérprete de python predeterminado.

Tenga en cuenta también: Desde mi experiencia personal, recomendaría no utilizar la instalación de sudo pip install para instalar paquetes en el intérprete de python predeterminado del sistema. Esto puede llevar a varios problemas desordenados. Cuando tenga la tentación de llamar a pip con sudo , primero verifique si un virtualenv no es la mejor opción para usted.


La mayoría de los sistemas modernos envían múltiples intérpretes de python Cada intérprete mantiene su propio conjunto de paquetes instalados. Al instalar nuevos paquetes, es importante comprender en qué intérprete están instalados esos paquetes.

En los sistemas Unix, el shell puede usarse para comprender qué está sucediendo exactamente.

Al escribir which -a python muestra a todos los intérpretes que en su PATH . La primera línea corresponde al intérprete que se usa cuando ejecutas python desde la línea de comandos.

 /private/tmp/py32/bin/python /usr/local/bin/python /usr/bin/python 

Cada versión pip pertenece exactamente a un intérprete. which -a pip muestra todas las versiones de pip. Nuevamente, la primera línea es lo que se llamará cuando pip en tu shell.

 /usr/local/bin/pip /usr/bin/python 

Tenga en cuenta que, en este caso, python pertenece al intérprete instalado en /private/tmp/py32/ , pero pip instala en el intérprete /usr/local/bin . Después de una instalación exitosa de una biblioteca, no podrá importarla en su intérprete de python predeterminado.

Entonces, ¿cómo importar la biblioteca instalada?

Su primera opción es iniciar el intérprete deseado con su ruta completa. Así que si escribe /usr/local/bin/python , podrá importar la biblioteca.

La segunda opción, a menudo preferida, es invocar específicamente la versión correcta de pip. Para hacerlo, puede usar python -m pip install lugar de pip install . Esto llamará a la versión pip que pertenece a su intérprete de python predeterminado.

Un par de puntos más:

  1. Compruebe si está instalando la biblioteca en el virtualenv que desea usar.
  2. Hay algunas bibliotecas cuyos nombres de paquetes son diferentes del nombre de la biblioteca. Puede consultar su documentación en línea (Google con la palabra clave python normalmente mostraría la información) para ver si está importando el paquete correctamente.