pip przestał działać po błędzie aktualizacji obiekt „moduł” nie jest wywoływalny


70

Po aktualizacji pip pip przestał działać całkowicie.

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

Proszę o pomoc?

Edycja: Pracuję na systemie Windows 10


13
Czy możesz spróbować python -m pip install matplotlibzgłosić błąd?
han solo,

10
Przyzwyczaj się do używaniapython -m pip
han solo

3
Wydaje się, że jest problem z tym, że 19.3 nie działa po aktualizacji z 19.2.3
han solo

1
@AnnevanRossum Running python -m pipupewnij się, że pipwywołane jest zawsze powiązane z pythonTwoim działaniem
Han Solo

2
@hansolo Musi się dziać coś jeszcze. W moim systemie pipzawodzi, a się to python -m pipudaje. Jest to system z wieloma pythonami (i pip3odnosi sukcesy również python3 -m pip). Zastanawiałem się, czy pipużyto go takim, jakim jest, używa innego, PYTHONPATHczy robi coś innego.
Anne van Rossum

Odpowiedzi:


81

Podziękowania należą się użytkownikowi han_solo , który zostawił odpowiedź jako komentarz, a nie jako odpowiedź:

Zamiast pip install stdlib_list --user

posługiwać się python -m pip install stdlib_list --user

Wymienić stdlib_listz matplotliblub bez względu na to nazwa pakietu, który chcesz.


20
Dlaczego to się dzieje?
darkgaze


1
fuj. ale przynajmniej możesz ustawić alias alias pip="python -m pip"(lub alias pip="python3 -m pip"). dodaj to do ~ / .bash_aliases lub do pliku rc powłoki
fbas

użyj python3 -m pip install stdlib_list --userdla python3. nazwa modułu jest nadal pipw tym przypadku.
smcg

1
czy wiesz jak wykonać powyższe polecenie w kodzie python
Mamen


6

Jeśli nie chcesz używać długiego polecenia za każdym razem python -m pip install <package>, zainstaluj ponownie pip do starszej wersji, w której nie ma tego błędu.

python -m pip install pip==19.0.3

Teraz będziesz mógł używać pip install matplotliblub pip listnormalnie.

A gdy błąd zostanie rozwiązany, zaktualizuj pip tak jak wcześniej.


4

To działało dla mnie, odinstaluj pip 19.3.1 i zamień na 19.0.3, błąd zniknął.

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

2

Miej zwyczaj instalowania dowolnych pakietów Pythona za pomocą pip za pomocą python -m , powiedzmy do instalowania numpy użyj poniższego polecenia:

python -m pip install numpy

W przypadku, gdy wystąpi błąd z błędem uprawnień środowiska, dodaj --user w tym samym poleceniu:

python -m pip install numpy --user


1

Podobne do tego, co powiedział @han_solo, ale jeśli działasz Python3, zamiast używać:

python -m pip install stdlib_list --user

spróbuj użyć:

python3 -m pip install stdlib_list --user


3
Alden, Raczej następnym razem po prostu edytuj istniejącą odpowiedź i dodaj python3 -m pip install stdlib_list --userzamiast zupełnie nowej odpowiedzi tylko po to, aby dodać numer
Phillip Jacobs

0

Miałem ten sam problem z wersją h5py-2.7.1, a ostrzeżenia zniknęły po aktualizacji do wersji h5py-2.10.0.


0

Nie mogę jeszcze zostawić komentarzy, dlatego postanowiłem zostawić link z wyjaśnieniem, dlaczego tak się dzieje: https://github.com/pypa/pip/issues/5599

W takim przypadku możesz spróbować to naprawić, obniżając wersję pip za pomocą następującego polecenia:

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

-1

Miałem ten sam problem. Udało mi się to naprawić, ponownie instalując pip w miejscu, używając kombinacji innych odpowiedzi:

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.