Ich habe ein Macbook mit OS X El Captain. Ich denke, Python 2.7
das ist vorinstalliert. Allerdings habe ich auch installiert Python 3.5
. Als ich anfing zu verwenden Python 3
, las ich, dass ich Folgendes eingeben sollte, wenn ich ein Paket installieren möchte.
pip3 install some_package
Jedenfalls jetzt, wenn ich benutze
pip install some_package
Ich werde some_package
installiert für Python 3
. Ich meine, ich kann es importieren und ohne Probleme verwenden. Außerdem, wenn ich nur geben pip3
in Terminal
, bekomme ich diese Meldung über die Nutzung:
Usage:
pip <command> [options]
Das ist die gleiche Nachricht, die ich bekomme, wenn ich nur tippe pip
.
Bedeutet das, dass in früheren Versionen die Dinge anders waren und jetzt pip
und pip3
austauschbar verwendet werden können? Wenn ja, und aus Gründen der Argumentation, wie kann ich Pakete Python 2
anstelle von installieren Python 3
?
quelle
ls -l
undpip show
den Grund zu überprüfen. und natürlich soll diese Antwort seine Frage beantworten.Wenn Sie Python 2.x hatten und dann Python3 installiert haben, zeigt Ihr Pip auf Pip3. Sie können dies überprüfen, indem Sie Folgendes eingeben
pip --version
wiepip3 --version
.Auf Ihrem System haben Sie jetzt pip, pip2 und pip3 .
Wenn Sie möchten, können Sie pip so ändern, dass es auf pip2 anstatt auf pip3 zeigt.
quelle
pip3 install --upgrade pip
und es hat beide v10 gemachtWenn Sie installieren
python3
,pip3
wird installiert. Und wenn Sie eine andere Python - Installation nicht (wie python2.7) haben dann ein Link erstellt wird , die Punktepip
zupip3
.Ist also
pip
ein Link zu,pip3
wenn keine andere Version von Python installiert ist (außer Python3).pip
verweist in der Regel auf die erste Installation.quelle
Dies ist ein heikles Thema. Wenn Sie am Ende aufrufen
pip
, wird entwederpip2
oder aufgerufenpip3
, je nachdem, wie Sie Ihr System eingerichtet haben.quelle
Ich denke
pip
,pip2
undpip3
sind keine Softlinks zum gleichen ausführbaren Dateipfad. Beachten Sie diese Befehle und Ergebnisse in meinem Linux-Terminal:Wie Sie sehen, existieren sie auf verschiedenen Wegen.
pip3 arbeitet immer nur in der Python3-Umgebung, wie pip2 es mit Python2 tut. pip arbeitet in jeder Umgebung, die dem Kontext entspricht. Wenn Sie sich beispielsweise in einem Python3-Venv befinden, wird pip in der Python3-Umgebung ausgeführt.
quelle
Zur Veranschaulichung:
So mein in meinem Standard - System - Python (Python 3.7.3),
pip
istpip3
.quelle
Wenn Sie Python 2.7 installiert haben, können Sie möglicherweise Pakete speziell für Python 2 verwenden
pip2
undpip2.7
installieren, zoder
Und Sie können Pacakges speziell für Python 3 verwenden
pip3
oderpip3.5
installieren.quelle
Auf meiner Windows-Instanz - und ich verstehe meine Umgebung nicht vollständig - funktionierte die Verwendung von pip3 zur Installation des kaggle-cli-Pakets - während pip dies nicht tat. Ich habe in einer Conda-Umgebung gearbeitet und die Umgebungen scheinen anders zu sein.
quelle
Angesichts einer aktivierten virtuellen Python 3.6-Version in somepath / venv lösten die folgenden Aliase die verschiedenen Probleme auf einem macOS Sierra, bei dem pip darauf bestand, auf Apples 2.7 Python zu verweisen.
Dies funktionierte nicht so gut, als ich dies tun musste,
sudo pip
da der Root-Benutzer nichts über meinen Alias oder die virtuelle Umgebung weiß. Daher musste ich einen zusätzlichen Alias hinzufügen, um dies ebenfalls zu handhaben. Es ist ein Hack, aber es funktioniert und ich weiß, was es tut:Hintergrund:
pip3 existierte nicht zum Starten ( Befehl nicht gefunden ) mit und
which pip
würde zurückkehren /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip , den Apple - Python.Python 3.6 wurde über Macports installiert.
Nach der Aktivierung von 3.6 virtualenv wollte ich arbeiten,
which python
würde somepath / venv / bin / python zurückgegebenIrgendwie
pip install
würde ich das Richtige tun und meine virtuelle Umgebung treffen, aberpip list
Python 2.7-Pakete rasseln.Für Python liegt dies weit unter meinen Erwartungen in Bezug auf Anfängerfreundlichkeit.
quelle