El módulo PIP no tiene atributo “main”

EDITAR: La computadora en cuestión era una máquina cliente con restricciones sobre qué software podría instalarse. No estoy seguro de si eso pudo haber sido la causa del problema o si el departamento de TI del cliente le dio a la máquina una versión dañada de pip. Las respuestas recomendadas a continuación probablemente habrían funcionado, pero fueron bloqueadas por el departamento de TI de la compañía y se requiere que el administrador inicie sesión. Desde entonces he dejado ese proyecto y espero evitar situaciones similares.

Estoy intentando instalar un archivo WHL

Al intentar ejecutar:

import pip my_path =  pip.main(['install', my_path]) 

Recibí un error de atributo:

 'module' object has no attribute 'main' 

Corri ayuda (pip) y

 __main__ 

fue listado como contenido de un paquete.

Estoy ejecutando Python 3.4 en la consola.

Hicieron una refactorización. Puedes soportar tanto 9 como 10 pips usando:

 try: from pip import main as pipmain except: from pip._internal import main as pipmain 

y luego use pipmain como usó pip.main. por ejemplo

 pipmain(['install', "--upgrade", "pip"]) pipmain(['install', "-q", "package"]) 

easy_install --upgrade pip funcionó para mí.

Mi problema estaba relacionado con mi IDE (PyCharm). las versiones anteriores de PyCharm no son compatibles con pip v10. La actualización de PyCharm lo resolvió por mí.

Para versiones más recientes de pip (pip> = 10.0.0), la funcionalidad descrita en las otras respuestas ya no funcionará. Recomiendo ejecutar el pip con subproceso de la siguiente manera:

 import subprocess import sys my_path =  command_list = [sys.executable, "-m", "pip", "install", my_path] with subprocess.Popen(command_list, stdout=subprocess.PIPE) as proc: print(proc.stdout.read()) 

Esta solución utiliza el ejecutable actual de python para ejecutar el comando pip como un comando de línea de comandos. Fue inspirado por la solución mencionada aquí .