Sie machen genau das Gleiche. Tatsächlich wurden die Dokumente zum Verteilen von Python-Modulen gerade aktualisiert , um die Verwendung von python -m pip
anstelle von pip
ausführbar vorzuschlagen, da dies der Fall ist einfacher zu sagen, welche Version von Python verwendet wird, um pip
auf diese Weise auszuführen.
Bearbeiten:
Hier ist ein konkreterer "Beweis", der nicht nur meinem Wort und dem Fehlerbericht, den ich verlinkt habe, vertraut:)
Wenn Sie sich das ausführbare Skript pip
ansehen, tun Sie Folgendes:
Es ruft load_entry_point
auf, das eine Funktion zurückgibt und dann diese Funktion ausführt. Der Einstiegspunkt, den es benutzt, heißt 'console_scripts'
. Wenn Sie sich die Datei entry_points.txt für pip
(/usr/lib/python2.7/dist-packages/pip-1.5.4.egg-info/entry_points.txt auf meinem Ubuntu-Rechner) ansehen, werden Sie sehen das:
Der zurückgegebene Einstiegspunkt ist also die Funktion main
im Modul pip
.
Wenn Sie python -m pip
ausführen, führen Sie das __main__.py
-Skript im pip
-Paket aus. Das sieht so aus:
Und die Funktion runner.run
sieht so aus:
Wie Sie sehen, ruft es nur die Funktion pip.main
auf. Daher rufen beide Befehle die gleiche Funktion main
in pip/__init__.py
auf.
Tags und Links python python-3.x pip