pip non funziona più dopo che l'oggetto 'modulo' dell'errore di aggiornamento non è richiamabile


70

Dopo un aggiornamento di pip, pip ha smesso di funzionare completamente.

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

Qualche aiuto per favore?

Modifica: sto lavorando su Windows 10


13
Potresti provare a python -m pip install matplotlibriportare l'errore?
han solo il

10
Prendi l'abitudine di usarepython -m pip
han solo il

3
Sembra che ci sia un problema riguardo a questo 19.3 non funziona dopo l'aggiornamento dal 19.2.3
han solo il

1
@AnnevanRossum Running python -m pipassicurati che pipinvocato sia sempre associato a quello pythonche stai eseguendo
han solo

2
@hansolo Deve esserci anche qualcos'altro. Sul mio sistema pipfallisce, mentre python -m pipriesce. Questo è un sistema multi-python (e ha pip3esito positivo python3 -m pip). Mi chiedevo se pipfosse usato così com'è, ne usa uno diverso PYTHONPATHo fa qualcos'altro.
Anne van Rossum,

Risposte:


81

Tutto il merito per questo va all'utente han_solo , che ha lasciato la risposta come commento, anziché come risposta:

Invece di pip install stdlib_list --user

uso python -m pip install stdlib_list --user

Sostituisci stdlib_listcon matplotlibo qualunque sia il nome del pacchetto che desideri.


20
Perché sta succedendo?
darkgaze

1
Mi hai reso
felice

1
che schifo. ma almeno puoi impostare un alias alias pip="python -m pip"(o alias pip="python3 -m pip"). aggiungilo a ~ / .bash_aliases o al tuo file rc della shell
fbas,

utilizzare python3 -m pip install stdlib_list --userper python3. il nome del modulo è ancora pipper questo caso.
smcg

1
sai come eseguire il comando sopra in codice Python
Mamen


6

Se non si desidera utilizzare il comando lungo ogni volta python -m pip install <package>, reinstallare pip nella versione precedente dove questo errore non era presente.

python -m pip install pip==19.0.3

Ora sarai in grado di utilizzare pip install matplotlibo pip listnormalmente.

E ogni volta che il bug viene risolto, aggiorna pip come hai fatto prima.


4

Questo ha funzionato per me, disinstallare pip 19.3.1 e sostituirlo con 19.0.3, errore andato.

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

2

Avere l'abitudine di installare eventuali pacchetti python con pip usando python -m , diciamo per l'installazione numpy usa il comando seguente:

python -m pip installa numpy

Nel caso in cui errros con l'errore di autorizzazione dell'ambiente append --user con lo stesso comando:

python -m pip install numpy --user


1

Simile a quello che ha detto @han_solo, ma se si esegue python3, invece di utilizzare:

python -m pip install stdlib_list --user

prova a usare:

python3 -m pip install stdlib_list --user


3
Alden, piuttosto la prossima volta basta modificare la risposta esistente e aggiungere python3 -m pip install stdlib_list --userinvece di avere una risposta completamente nuova solo per aggiungere un numero
Phillip Jacobs,

0

Ho avuto lo stesso problema con h5py-2.7.1 e gli avvisi erano spariti dopo l'aggiornamento a h5py-2.10.0.


0

Non posso ancora lasciare i commenti, quindi ho deciso di lasciare un link con una spiegazione del perché ciò possa accadere: https://github.com/pypa/pip/issues/5599

In tal caso, puoi provare a risolverlo eseguendo il downgrade della versione pip con il comando seguente:

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

-1

Ho avuto lo stesso problema. Sono riuscito a risolverlo reinstallando pip in posizione, usando la combinazione le altre risposte:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.