pip3 "TypeError: el objeto 'módulo' no es invocable" después de la actualización

42

Soy nuevo en Python, quiero instalar Jupyter Notebook en mi consola, ingreso lo siguiente:

pip3 install --upgrade pip 

después de eso tengo un error al usar pip3 instalar otra biblioteca, la consola imprime:

File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

No se que tengo que hacer.

Yo uso sudo autoremove python3-pipdespués de eso yo usosudo apt install python3-pip

Israel Obando Cisneros
fuente
tal vez importe parte de su archivo en lugar del módulo esperado y tiene problemas para ejecutarlo, puede ser, es decir. main.py. ¿Intentaste usar pipen una carpeta diferente?
furas
1
También tuve el mismo error.
Hyrial
Gracias por comenzar: enumeré mi procedimiento para solucionar esto en stackoverflow.com/questions/34573159/…
jvonehr

Respuestas:

61

Desde el enlace de Bram, simplemente corrí python3 -m pip uninstall pip, y comenzó a funcionar nuevamente.

Hyrial
fuente
3
¿Alguien puede explicar esto?
Saif Ur Rahman el
55
@SaifUrRahman: desde el enlace proporcionado, parece que se trata de un conflicto entre una instalación de pip específica del usuario (que se instala / actualiza mediante el comando OP) y la instalación de pip global proporcionada por el sistema operativo.
vlz
5

La solución que funcionó para mi situación es simplemente editar el archivo pip3.8 en el entorno ubuntu.

Método 1:

#!/path/to/.venv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys

from pip._internal.main import main  # <--- look at this import statement! 

if __name__ == '__main__':
     sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
     sys.exit(main())

método2:

La función principal tiene que importarse o simplemente podemos reemplazar la línea

sys.exit(main())

Como

sys.exit(main.main())
google
fuente
¡si! ¡Gracias por el "método # 1"!
Ryan Loggerythm
¡El método # 2 funcionó a las mil maravillas! ¡¡¡Gracias!!!
David Aubin
¡Gracias! El método # 2 funcionó para mí. Estoy nervioso por eso, porque me temo que fallará la próxima vez que actualice /Applications/Xcode.app/Contents/Developer/usr/bin/pip3.
Jetpack
3

Utilizar este

python -m pip install --upgrade --user [nombre_de_su_paquete]

Purushottam
fuente
1

Como se ve aquí , debería poder resolver esto ejecutando el módulo desde Python directamente, es decir

python -m pip install --upgrade pip
Bram Vanroy
fuente
1

En Windows edite C: \ ProgramData \ Anaconda3 \ Scripts \ pip-script.py y reemplace

# -*- coding: utf-8 -*-
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())

Reemplace la última línea con sys.exit (main.main ()).

Maddu Swaroop
fuente