web-dev-qa-db-fra.com

AttributeError: le module Pip n'a pas d'attribut 'main'

J'essaie de construire l'API Python pour un projet open source appelé Zulip et je rencontre toujours le même problème, comme indiqué dans la capture d'écran ci-dessous.

J'utilise python3 et la version de mon pip est 10.0.0. Le fichier en question est setup.py et le code qui perturbe le moment où vous accédez à l'attribut pip.main() pour installer un package.

Maintenant, je sais que cette version devrait réussir parce que c'est un projet open source, mais j'essaie depuis des heures de résoudre le problème de dépendance concernant pip.main().

Toute aide serait grandement appréciée. 

 enter image description here

41
Kishan Patel
python3 -m pip install --user --upgrade pip==9.0.3

problème de pip: rollback

55
ericson.cepeda

Première exécution

import pip
pip.__version__

Si le résultat est '10 .0.0 ', cela signifie que vous avez installé pip avec succès. 
comme pip 10.0.0 ne supporte plus pip.main (), vous pouvez trouver cela utile 
https://pip.pypa.io/en/latest/user_guide/#using-pip-from-your-program
Utilisez quelque chose comme import subprocess subprocess.check_call(["python", '-m', 'pip', 'install', 'pkg']) # install pkg subprocess.check_call(["python", '-m', 'pip', 'install',"--upgrade", 'pkg']) # upgrade pkg


Edit: le pip 10.0.1 ne supporte toujours pas le main 
Vous pouvez choisir de mettre à niveau votre version de pip en utilisant la commande suivante: 
python -m pip install --upgrade pip==9.0.3

23
Luke.SWK

Il semblerait que pip ait fait un refactor et déplacé la main vers l’interne. Il y a une discussion complète à ce sujet ici: https://github.com/pypa/pip/issues/5240

Une solution de contournement pour moi était de changer

import pip
pip.main(...)

à

from pip._internal import main
main(...)

Je recommande de lire la discussion, je ne suis pas sûr que ce soit la meilleure approche, mais cela a fonctionné pour mes objectifs. 

20
mdoc-2011

Cela m'aide, https://pip.pypa.io/fr/stable/installing/

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

Si vous utilisez python3 et que vous ne le définissez pas par défaut. fais ça,

python3 get-pip.py

Ça marche pour moi.

5
Evan

Pour vérifier si votre problème d'installation pip correspond, essayez d'utiliser easy_install pour installer une version antérieure de pip:

easy_install pip==9.0.1

Si cela réussit, pip devrait fonctionner maintenant. Ensuite, vous pouvez installer n'importe quelle autre version de pip avec:

pip install pip==10....

Ou vous pouvez simplement rester avec version 9.0.1, car votre projet nécessite une version> = 9.0.

Essayez de construire votre projet à nouveau.

5
Shuwn Yuan Tee

Si python -m pip install --upgrade pip==9.0.3 ne fonctionne pas et que vous utilisez Windows,

  1. Accédez à ce répertoire et déplacez les dossiers pip ailleurs. 

 enter image description here

  1. Fermez votre IDE si vous l'avez ouvert.

  2. Appuyez sur 'Réparer' sous Python 3.

 enter image description here

  1. Votre IDE doit cesser de détecter les packages pip et vous invite à les installer. Installez et conservez la dernière version stable de pip en bloquant les mises à jour automatiques .  enter image description here
3
AeFinches

Le Pip 10.0. * Ne supporte pas le main.

Vous devez rétrograder au pip 9.0.3.

2
Matthew

Pas sûr de Windows. Mais pour les utilisateurs de mac, utilisez ceci:

pip install --upgrade pip==9.0.3
0
Adam Liu

Ma solution consiste à vérifier le numéro de version de pip et à utiliser correctement l'importation de la fonction principale appropriée.

    import pip

    if int(pip.__version__.split('.')[0])>9:
        from pip._internal import main
    else:
        from pip import main
    def install(package):
        main(['install', package])
0
Adewole Adesola

Étape 1 Curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Étape2 Python get-pip.py

0
Kiran

J'ai corrigé ce problème lors de la mise à niveau vers la dernière version

Sudo pip install --upgrade pip

Ma version: pip 18.1 depuis /Library/Python/2.7/site-packages/pip (python 2.7)

0
matt

Editer le fichier: C:\Utilisateurs\kpate\hw6\python-zulip-api\zulip_bots\setup.py à la ligne 108

à

rcode = pip.main(['install', '-r', req_path, '--quiet'])

faire

rcode = getattr(pip, '_main', pip.main)(['install', '-r', req_path, '--quiet'])´
0
SleX

J'ai fait face à la même erreur lors de l'utilisation de pip sur anaconda3 4.4.0 (python 3.6) sur Windows.

J'ai résolu le problème avec la commande suivante:

easy_install pip==18.*  ### installing the latest version pip

Ou si la version inférieure pip est requise, indiquez la même chose dans la commande.

Ou vous pouvez essayer d'installer la version inférieure et de la mettre à niveau vers la dernière version comme suit:

easy_install pip==9.0.1

easy_install --upgrade pip
0
divya gera

Ça marche bien:

 py -m pip install --user --upgrade pip==9.0.3
0
i_th