AttributeError: Module Pip heeft geen attribuut ‘main’

Ik probeer de python-API te bouwen voor een open source-project genaamd Zulip en ik loop steeds tegen hetzelfde probleem aan, zoals aangegeven in de onderstaande schermafbeelding.

Ik gebruik python3 en mijn pip-versie is 10.0.0. Het bestand in kwestie is setup.pyen de code die in de war is, is wanneer het kenmerk pip.main()wordt gebruikt om een pakket te installeren.

Ik weet dat deze build zou moeten slagen omdat het een open source-project is, maar ik ben al uren bezig om het afhankelijkheidsprobleem met betrekking tot pip.main()op te lossen.

Alle hulp wordt zeer op prijs gesteld.


Antwoord 1, autoriteit 100%

python3 -m pip install --user --upgrade pip==9.0.3

pip-probleem: terugdraaien


Antwoord 2, autoriteit 43%

Het lijkt erop dat pip een refactor heeft uitgevoerd en main naar internal heeft verplaatst. Er is hier een uitgebreide discussie over: https://github.com/pypa/pip/issues/ 5240

Een tijdelijke oplossing voor mij was om te veranderen

import pip
pip.main(...)

naar

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

Ik raad aan om de discussie door te lezen. Ik weet niet zeker of dit de beste aanpak is, maar het werkte voor mijn doeleinden.


Antwoord 3, autoriteit 36%

Eerste run

import pip
pip.__version__

Als het resultaat ‘10.0.0’ is, betekent dit dat je pip succesvol hebt geïnstalleerd
aangezien pip 10.0.0 pip.main() niet meer ondersteunt, vind je dit misschien nuttig
https://pip.pypa.io/en/ nieuwste/user_guide/#using-pip-from-your-program

Gebruik zoiets als

import subprocess
subprocess.check_call(["python", '-m', 'pip', 'install', 'pkg']) # install pkg
subprocess.check_call(["python", '-m', 'pip', 'install',"--upgrade", 'pkg']) # upgrade pkg


Bewerken: pip 10.0.1 ondersteunt nog steeds geen main
Je kunt ervoor kiezen om je pip-versie te DOWNGRADEN via het volgende commando:
python -m pip install --upgrade pip==9.0.3


Antwoord 4, autoriteit 9%

Dit helpt me, https://pip.pypa.io/en/stable/installing /

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

Als u python3 gebruikt en deze niet standaard instelt. doe dit,

python3 get-pip.py

Het werkt voor mij.


Antwoord 5, autoriteit 8%

Om te controleren of het uw pipinstallatieprobleem is, kunt u proberen easy_installte gebruiken om een eerdere versie van pip te installeren:

easy_install pip==9.0.1

Als dit lukt, zou pipnu moeten werken. Vervolgens kun je elke andere versie van pipinstalleren die je wilt met:

pip install pip==10....

Of u kunt gewoon bij version 9.0.1blijven, aangezien uw project versie >= 9.0 vereist.

Probeer uw project opnieuw te bouwen.


Antwoord 6, autoriteit 8%

Mijn oplossing is om het versienummer van pip te controleren en de juiste hoofdfunctie correct te importeren

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])

Antwoord 7, autoriteit 4%

Als python -m pip install --upgrade pip==9.0.3niet werkt en je Windows gebruikt,

  1. Navigeer naar deze map en verplaats de pip-mappen ergens anders.

  1. Sluit je IDE als je deze open hebt staan.

  2. Druk op ‘Repareren’op Python 3.

  1. Je IDE zou moeten stoppen met het detecteren van pip-pakketten en je vragen om ze te installeren. Installeer en bewaar de laatste stabiele pip-versie door automatische updates te blokkeren.

Antwoord 8, autoriteit 3%

Pip 10.0.* ondersteunt geen main.

Je moet downgraden naar pip 9.0.3.


Antwoord 9

Probeer deze opdracht.

python -m pip install --user pip==9.0.1

Antwoord 10

het werkt goed:

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

Antwoord 11

Bewerken Bestand:
C: \ gebruikers \ kpate \ hw6 \ python-zulip-api \ zulip_bots \ setup.py in lijn 108

Naar

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

doen

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

Antwoord 12

Niet zeker over Windows. Maar gebruik dit voor Mac-gebruikers dit:

pip install --upgrade pip==9.0.3

Antwoord 13

Ik heb dit probleem opgelost naar de nieuwste versie

sudo pip install --upgrade pip

Mijn versie:
PIP 18.1 van /Library/python/2.7/site-packages/pip (Python 2.7)


Antwoord 14

Ik heb geconfronteerd met dezelfde fout tijdens het gebruik van PIP op Anaconda3 4.4.0 (Python 3.6) op Windows.

Ik heb het probleem opgelost door de volgende opdracht:

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

of als lagere versie PIP vereist, vermeld hetzelfde in de opdracht.

of u kunt proberen de onderste versie te installeren en vervolgens hetzelfde te upgraden naar de nieuwste versie als volgt:

easy_install pip==9.0.1
easy_install --upgrade pip

Antwoord 15

Voor mij deed dit probleem zich voor toen ik python aan het draaien was in mijn site-packages map. Als ik het ergens anders uitvoerde, was het geen probleem meer.

Other episodes