47 votes

pip3 "TypeError : l'objet 'module' n'est pas appelable" après la mise à jour

Je suis nouveau en Python, je veux installer Jupyter Notebook dans ma console, je saisis ce qui suit :

 pip3 install --upgrade pip 

après cela, j'ai une erreur pour utiliser pip3 installer une autre bibliothèque, la console affiche :

 File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

Je ne sais pas ce que je dois faire.

J'utilise sudo autoremove python3-pip après ça j'utilise sudo apt install python3-pip

65voto

Hyrial Points 1078

À partir du lien de Bram, je viens d'exécuter python3 -m pip uninstall pip , et cela a recommencé à fonctionner.

6voto

i_am_deesh Points 339

La solution qui a fonctionné pour ma situation consiste simplement à modifier le fichier pip3.8 dans l'environnement ubuntu.

Méthode 1 :

 #!/path/to/.venv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys

from pip._internal.main import main  # <--- look at this import statement! 

if __name__ == '__main__':
     sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
     sys.exit(main())

méthode2 :

La fonction principale doit être importée ou nous pouvons simplement remplacer la ligne

 sys.exit(main())

Comme

 sys.exit(main.main())

6voto

Purushottam Points 514

Utilisez ceci

python -m pip install --upgrade --user [name_of_your_package]

4voto

Bram Vanroy Points 4460

Comme on le voit ici , vous devriez pouvoir résoudre ce problème en exécutant le module directement depuis Python, c'est-à-dire

 python -m pip install --upgrade pip

1voto

Maddu Swaroop Points 499

Sous Windows, modifiez C:\ProgramData\Anaconda3\Scripts\pip-script.py et remplacez

 # -*- coding: utf-8 -*-
import re
import sys
from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Remplacez la dernière ligne par sys.exit(main.main()).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X