pip ne fonctionne plus après l'erreur de mise à jour l'objet 'module' ne peut pas être appelé

70

Après une mise à jour de pip, pip a cessé de fonctionner complètement.

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

Vous avez besoin d'aide?

Edit: je travaille sur windows 10

Agustin
la source
13
Pourriez-vous essayer de python -m pip install matplotlibsignaler l'erreur?
han solo
10
Prenez l'habitude d'utiliserpython -m pip
han solo
3
Il semble y avoir un problème concernant cette version 19.3 qui ne fonctionne pas après la mise à niveau à partir de la version 19.2.3
han solo
1
@AnnevanRossum Running python -m pipassurez-vous que l' pipinvoqué est toujours associé à ce que pythonvous exécutez
han solo
2
@hansolo Il doit aussi se passer autre chose. Sur mon système pipéchoue, tout python -m pipréussit. Il s'agit d'un système multi-python (et pip3réussit aussi bien python3 -m pip). Je me demandais s'il pipétait utilisé tel quel, il utilise un autre PYTHONPATHou fait autre chose de différent.
Anne van Rossum

Réponses:

81

Tout le mérite revient à l'utilisateur han_solo , qui a laissé la réponse sous forme de commentaire, plutôt que sous forme de réponse:

Au lieu de pip install stdlib_list --user

utilisation python -m pip install stdlib_list --user

Remplacez stdlib_listpar matplotlibou quel que soit le nom du package que vous souhaitez.

Anémone cure-dent
la source
20
Pourquoi cela arrive-t-il?
darkgaze
1
Tu as fait ma journée :)
Vrushabh Suchak
1
beurk. mais au moins vous pouvez définir un alias alias pip="python -m pip"(ou alias pip="python3 -m pip"). ajoutez cela à ~ / .bash_aliases ou à votre fichier shell rc
fbas
utiliser python3 -m pip install stdlib_list --userpour python3. le nom du module est toujours pippour ce cas.
smcg
1
savez-vous comment exécuter la commande ci-dessus dans le code python
Mamen
14

J'ai eu le même problème que vous et je l'ai résolu en désinstallant pip et en réinstallant.

Pour désinstaller: python -m pip désinstaller pip

Pour installer, suivez les instructions: https://www.liquidweb.com/kb/install-pip-windows/

Après cela, vous aurez une version 19.0.3 plus ancienne mais fonctionnelle.

rdemarqui
la source
6

Si vous ne souhaitez pas utiliser la commande longue à chaque fois python -m pip install <package>, réinstallez pip dans l'ancienne version où cette erreur n'était pas présente.

python -m pip install pip==19.0.3

Maintenant, vous pourrez utiliser pip install matplotlibou pip listnormalement.

Et chaque fois que le bug est résolu, mettez à niveau pip comme vous l'avez fait auparavant.

mudit
la source
4

Cela a fonctionné pour moi, désinstallez pip 19.3.1 et remplacez-le par 19.0.3, erreur disparue.

python -m pip install pip==19.0.3 --user
Camilo Caquimbo
la source
2

Ayez l'habitude d'installer des packages python avec pip en utilisant python -m , par exemple pour installer numpy use below command:

python -m pip install numpy

Dans le cas où il errros avec l'erreur d'autorisation d'environnement append --user dans la même commande:

python -m pip install numpy --user

Piyush Upadhyay
la source
1

Similaire à ce que @han_solo a dit, mais si vous utilisez python3, au lieu d'utiliser:

python -m pip install stdlib_list --user

essayez d'utiliser:

python3 -m pip install stdlib_list --user

Alden DelVecchio
la source
3
Alden, Plutôt la prochaine fois juste éditer la réponse existante et ajouter python3 -m pip install stdlib_list --userau lieu d'avoir une toute nouvelle réponse juste pour ajouter un nombre
Phillip Jacobs
0

J'ai eu le même problème avec h5py-2.7.1, et les avertissements ont disparu après la mise à niveau vers h5py-2.10.0.

Ashkan
la source
0

Je ne peux pas encore laisser les commentaires, j'ai donc décidé de laisser un lien expliquant pourquoi cela peut arriver: https://github.com/pypa/pip/issues/5599

Si tel est le cas, vous pouvez essayer de le corriger en rétrogradant la version pip avec la commande suivante:

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

Eu le même problème. J'ai réussi à le réparer en réinstallant pip en place, en utilisant la combinaison des autres réponses:

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

Michal Sylwester
la source