pip funktioniert nach Update-Fehler nicht mehr 'Modul'-Objekt ist nicht aufrufbar

70

Nach einem Pip-Update funktioniert pip nicht mehr vollständig.

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

Hilfe bitte?

Bearbeiten: Ich arbeite an Windows 10

Agustin
quelle
13
Könnten Sie versuchen python -m pip install matplotlib, den Fehler zu melden?
Han Solo
10
Machen Sie es sich zur Gewohnheitpython -m pip
Han Solo
3
Es scheint ein Problem bezüglich dieser 19.3 zu geben, das nach dem Upgrade von 19.2.3
Han Solo
1
@ AnnevanRossum Running python -m pipstellen Sie sicher, dass pipaufgerufen immer mit dem, was pythonSie laufen
Han Solo
2
@hansolo Es muss noch etwas anderes passieren. Auf meinem System pipfällt aus, während python -m piperfolgreich ist. Dies ist ein Multi-Python-System (und es pip3gelingt auch python3 -m pip). Ich habe mich gefragt, ob pipes so verwendet wird, es verwendet ein anderes PYTHONPATHoder etwas anderes.
Anne van Rossum

Antworten:

81

Alle Gutschriften dafür gehen an den Benutzer han_solo , der die Antwort als Kommentar und nicht als Antwort hinterlassen hat:

Anstatt pip install stdlib_list --user

verwenden python -m pip install stdlib_list --user

Ersetzen Sie stdlib_listdurch matplotliboder wie auch immer der Name des gewünschten Pakets lautet.

Zahnstocher Anemone
quelle
20
Warum passiert dies?
Darkgaze
1
Du hast meinen Tag gemacht :)
Vrushabh Suchak
1
igitt. Aber zumindest können Sie einen Alias alias pip="python -m pip"(oder alias pip="python3 -m pip") festlegen . füge das zu ~ / .bash_aliases oder deiner Shell-RC-Datei hinzu
fbas
Verwenden Sie python3 -m pip install stdlib_list --userfür Python3. Modulname ist noch pipfür diesen Fall.
Smcg
1
Weißt du, wie man den obigen Befehl im Python-Code ausführt
Mamen
14

Ich hatte das gleiche Problem wie Sie und habe es gelöst, indem ich pip deinstalliert und erneut installiert habe.

So deinstallieren Sie: python -m pip deinstalliert pip

Befolgen Sie zur Installation die Anweisungen: https://www.liquidweb.com/kb/install-pip-windows/

Danach haben Sie eine ältere, aber funktionsfähige Version 19.0.3.

rdemarqui
quelle
6

Wenn Sie den Befehl long nicht jedes Mal verwenden möchten python -m pip install <package>, installieren Sie pip erneut auf die ältere Version, in der dieser Fehler nicht aufgetreten ist.

python -m pip install pip==19.0.3

Jetzt können Sie pip install matplotliboder pip listnormal verwenden.

Und wenn der Fehler behoben ist, aktualisieren Sie pip wie zuvor.

Schlamm
quelle
4

Dies funktionierte für mich, deinstallieren Sie Pip 19.3.1 und ersetzen Sie es durch 19.0.3, Fehler verschwunden.

python -m pip install pip==19.0.3 --user
Camilo Caquimbo
quelle
2

Haben Sie die Angewohnheit, Python-Pakete mit pip mit python -m zu installieren, beispielsweise für die Installation von numpy. Verwenden Sie den folgenden Befehl:

python -m pip install numpy

Falls es mit dem Umgebungsberechtigungsfehler fehlschlägt, fügen Sie --user im selben Befehl hinzu:

python -m pip install numpy --user

Piyush Upadhyay
quelle
1

Ähnlich wie @han_solo gesagt hat, aber wenn Sie python3 ausführen, anstatt zu verwenden:

python -m pip install stdlib_list --user

versuchen Sie es mit:

python3 -m pip install stdlib_list --user

Alden DelVecchio
quelle
3
Alden, Eher das nächste Mal einfach die vorhandene Antwort bearbeiten und hinzufügen, python3 -m pip install stdlib_list --useranstatt eine ganz neue Antwort zu haben, nur um eine Nummer hinzuzufügen
Phillip Jacobs
0

Ich hatte das gleiche Problem mit h5py-2.7.1 und die Warnungen waren nach dem Upgrade auf h5py-2.10.0 verschwunden.

Ashkan
quelle
0

Ich kann die Kommentare noch nicht hinterlassen, daher habe ich beschlossen, einen Link mit einer Erklärung zu hinterlassen, warum dies passieren kann: https://github.com/pypa/pip/issues/5599

In diesem Fall können Sie versuchen, das Problem zu beheben, indem Sie die Pip-Version mit dem folgenden Befehl herunterstufen:

 python -m pip install pip==<previous version>
Dmitry Amelin
quelle
-1

Hatte das gleiche Problem. Ich habe es geschafft, das Problem zu beheben, indem ich pip neu installiert habe und die anderen Antworten kombiniert habe:

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

Michal Sylwester
quelle