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.
python3 -m pip install --user --upgrade pip==9.0.3
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
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.
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.
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.
Wenn python -m pip install --upgrade pip==9.0.3
nicht funktioniert und Sie Windows verwenden,
Schließen Sie Ihre IDE, wenn Sie sie geöffnet haben.
Drücken Sie 'Repair' auf Python 3.
Pip 10.0. * Unterstützt Main nicht.
Sie müssen ein Downgrade auf Pip 9.0.3 durchführen.
Versuchen Sie diesen Befehl.
python -m pip install --user pip==9.0.1
Nicht sicher über Windows. Verwenden Sie für Mac-Benutzer jedoch Folgendes:
pip install --upgrade pip==9.0.3
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])
Schritt 1 Curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Schritt 2.
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)
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'])´
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
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.
Es läuft gut:
py -m pip install --user --upgrade pip==9.0.3