pip ya no funciona después de que el error de actualización del objeto 'módulo' no es invocable


70

Después de una actualización de pip, pip ha dejado de funcionar por completo.

Z:\>pip install matplotlib
Traceback (most recent call last):
  File "c:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python37\Scripts\pip.exe\__main__.py", line 9, in <module>
TypeError: 'module' object is not callable

Cualquier ayuda por favor?

Editar: estoy trabajando en Windows 10


13
¿Podría intentar python -m pip install matplotlibinformar el error?
Han Solo

10
Acostúmbrate a usarpython -m pip
Han Solo

3
Parece que hay un problema con respecto a que este 19.3 no funciona después de actualizar desde 19.2.3
han solo

1
@AnnevanRossum Running python -m pipasegúrate de que pipinvocar siempre esté asociado con el pythonque estás ejecutando
han solo

2
@hansolo También debe haber algo más. En mi sistema pipfalla, mientras que python -m piptiene éxito. Este es un sistema multi-python (y pip3tiene éxito también python3 -m pip). Me preguntaba si pipse usó como está, si usa uno diferente PYTHONPATHo si hace algo diferente.
Anne van Rossum el

Respuestas:


81

Todo el crédito por esto va al usuario han_solo , que dejó la respuesta como un comentario, en lugar de como una respuesta:

En vez de pip install stdlib_list --user

utilizar python -m pip install stdlib_list --user

Reemplace stdlib_listcon matplotlibo el nombre que sea del paquete que desea.


20
¿Por qué está pasando esto?
darkgaze


1
qué asco. pero al menos puedes establecer un alias alias pip="python -m pip"(o alias pip="python3 -m pip"). agregue eso a ~ / .bash_aliases o su archivo rc shell
fbas

utilizar python3 -m pip install stdlib_list --userpara python3. El nombre del módulo sigue siendo pippara este caso.
smcg

1
¿sabes cómo ejecutar el comando anterior en código python?
Mamen


6

Si no desea utilizar el comando largo cada vez python -m pip install <package>, reinstale pip a la versión anterior donde este error no estaba allí.

python -m pip install pip==19.0.3

Ahora podrás usarlo pip install matplotlibo pip listnormalmente.

Y cada vez que se resuelva el error, actualice pip como lo hizo antes.


4

Esto funcionó para mí, desinstalar pip 19.3.1 y reemplazar con 19.0.3, error desaparecido.

python -m pip install pip==19.0.3 --user

2

Tienen la costumbre de instalar cualquier paquete de pitón con la pipa utilizando -m pitón , por ejemplo para la instalación de numpy utilizar por debajo de comando:

python -m pip install numpy

En caso de que se equivoque con el error de permiso del entorno, agregue --user en el mismo comando:

python -m pip install numpy --user


1

Similar a lo que dijo @han_solo, pero si está ejecutando python3, en lugar de usar:

python -m pip install stdlib_list --user

intente usar:

python3 -m pip install stdlib_list --user


3
Alden, más bien la próxima vez solo edite la respuesta existente y agregue en python3 -m pip install stdlib_list --userlugar de tener una respuesta completamente nueva solo para agregar un número
Phillip Jacobs

0

Tuve el mismo problema con h5py-2.7.1, y las advertencias desaparecieron después de actualizar a h5py-2.10.0.


0

Todavía no puedo dejar los comentarios, por lo tanto, he decidido dejar un enlace con una explicación de por qué esto puede suceder: https://github.com/pypa/pip/issues/5599

Si este es el caso, puede intentar solucionarlo degradando la versión de pip con el siguiente comando:

 python -m pip install pip==<previous version>

-1

Tuve el mismo problema He logrado solucionarlo reinstalando pip en su lugar, combinando las otras respuestas:

python -m pip install -U --force-reinstall pip

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.