web-dev-qa-db-de.com

AttributeError: Modul Pip hat kein Attribut 'main'

Ich versuche, die Python-API für ein Open-Source-Projekt namens Zulip zu erstellen, und ich stelle immer wieder die gleichen Probleme wie in der Abbildung unten an.

Ich verwende Python3 und meine Pip-Version ist 10.0.0. Die fragliche Datei ist setup.py und der Code, der verwirrend ist, ist der Zugriff auf das pip.main()-Attribut, um ein Paket zu installieren.

Ich weiß, dass dieses Build erfolgreich sein sollte, da es sich um ein Open Source-Projekt handelt. Ich habe jedoch schon seit Stunden versucht, das Abhängigkeitsproblem bezüglich pip.main() zu beheben.

Jede Hilfe wäre sehr dankbar. 

 enter image description here

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

pip Problem: Rollback

55
ericson.cepeda

Erster Lauf

import pip
pip.__version__

Wenn das Ergebnis '10 .0.0 'ist, bedeutet dies, dass Sie pip erfolgreich installiert haben 
Da pip 10.0.0 pip.main () nicht mehr unterstützt, kann dies hilfreich sein 
https://pip.pypa.io/de/latest/user_guide/#using-pip-from-your-program
Verwenden Sie so etwas wie import subprocess subprocess.check_call(["python", '-m', 'pip', 'install', 'pkg']) # install pkg subprocess.check_call(["python", '-m', 'pip', 'install',"--upgrade", 'pkg']) # upgrade pkg


Edit: pip 10.0.1 unterstützt immer noch nicht main 
Sie können Ihre Pip-Version mit dem folgenden Befehl DOWNGRADE auswählen: 
python -m pip install --upgrade pip==9.0.3

23
Luke.SWK

Es hat den Anschein, dass pip einen Refactor durchführte und von main nach intern wechselte. Hier gibt es eine ausführliche Diskussion: https://github.com/pypa/pip/issues/5240

Ein Workaround für mich bestand darin, sich zu ändern

import pip
pip.main(...)

zu

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

Ich empfehle, die Diskussion durchzulesen. Ich bin nicht sicher, ob dies der beste Ansatz ist, aber es hat für meine Zwecke funktioniert. 

20
mdoc-2011

Das hilft mir, https://pip.pypa.io/de/stable/installing/

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

Wenn Sie Python3 verwenden und nicht als Standard festlegen. mach das,

python3 get-pip.py

Für mich geht das.

5
Evan

Um zu überprüfen, ob es sich bei Ihrem Installationsproblem um pip handelt, versuchen Sie mit easy_install eine frühere Version von pip zu installieren:

easy_install pip==9.0.1

Wenn dies gelingt, sollte pip jetzt funktionieren. Dann können Sie jede andere Version von pip installieren, die Sie möchten:

pip install pip==10....

Oder Sie bleiben einfach bei version 9.0.1, da für Ihr Projekt Version> = 9.0 erforderlich ist.

Versuchen Sie erneut, Ihr Projekt zu erstellen.

5
Shuwn Yuan Tee

Wenn python -m pip install --upgrade pip==9.0.3 nicht funktioniert und Sie Windows verwenden,

  1. Navigieren Sie zu diesem Verzeichnis und verschieben Sie die Pip-Ordner an eine andere Stelle. 

 enter image description here

  1. Schließen Sie Ihre IDE, wenn Sie sie geöffnet haben.

  2. Drücken Sie 'Repair' auf Python 3.

 enter image description here

  1. Ihre IDE sollte keine Pip-Pakete mehr erkennen und Sie werden aufgefordert, sie zu installieren. Installieren und behalten Sie die letzte stabile Pip-Version, indem Sie automatische Updates blockieren  enter image description here
3
AeFinches

Pip 10.0. * Unterstützt Main nicht.

Sie müssen ein Downgrade auf Pip 9.0.3 durchführen.

2
Matthew

Versuchen Sie diesen Befehl.

python -m pip install --user pip==9.0.1
1
Ashfaq Memon

Nicht sicher über Windows. Verwenden Sie für Mac-Benutzer jedoch Folgendes:

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

Meine Lösung ist, die Versionsnummer von pip zu überprüfen und die korrekte Hauptfunktion korrekt zu importieren

    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

Schritt 1 Curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Schritt 2.

0
Kiran

Ich habe dieses Problem beim Aktualisieren auf die neueste Version behoben

Sudo pip install --upgrade pip

Meine Version: pip 18.1 aus /Library/Python/2.7/site-packages/pip (python 2.7)

0
matt

Bearbeiten Sie die Datei: C:\Users\kpate\hw6\python-zulip-api\zulip_bots\setup.py in Zeile 108

zu

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

tun

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

Bei der Verwendung von pip auf anaconda3 4.4.0 (Python 3.6) unter Windows trat ich den gleichen Fehler auf.

Ich habe das Problem mit dem folgenden Befehl behoben:

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

Wenn Sie eine niedrigere Version als pip benötigen, geben Sie dasselbe im Befehl an.

Sie können auch versuchen, die niedrigere Version zu installieren und anschließend auf die neueste Version zu aktualisieren:

easy_install pip==9.0.1

easy_install --upgrade pip
0
divya gera

Bei mir trat dieses Problem auf, als ich python im Ordner "site-packages" ausgeführt habe. Wenn ich es irgendwo anders ausgeführt habe, war es kein Problem mehr.

0
Phylliida

Es läuft gut:

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