Verwendung von pip mit Python 3.x neben Python 2.x.


196

Ich habe Python 3.x (neben Python 2.x unter Ubuntu) installiert und langsam begonnen, Module zu koppeln, die ich in Python 2.x verwende.

Ich frage mich also, wie ich vorgehen soll, um mir das Leben zu erleichtern, indem ich pip sowohl für Python 2.x als auch für Python 3.x verwende.


2
Persönlich würde ich globale Paketinstallationen vermeiden und virtualenv verwenden. Dann verwenden Sie pip aus Ihrer virtuellen Umgebung für jedes Projekt und verwenden immer die richtige.
jpmc26

Antworten:


183

Der Ansatz, den Sie wählen sollten, ist die Installation pipfür Python 3.2.

Sie tun dies folgendermaßen:

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3.2 get-pip.py

Anschließend können Sie Dinge für Python 3.2 mit pip-3.2und Dinge für Python 2-7 mit installieren pip-2.7. Der pipBefehl zeigt am Ende auf einen dieser Befehle, aber ich bin mir nicht sicher, welcher, also müssen Sie ihn überprüfen.


9
Das war einfach, danke. sudo python3.2 get-pip.pyInstallationen pipund pip-3.2Skripte in /usr/local/binund beide verwenden logischerweise Python 3. sudo python get-pip.pyInstallationen pipund pip-2.7hier, also in diesem Fall pipPython 2.7. Ich habe zusätzlich einen Link zu pip-3.2as erstellt pip3und getestet: Perfekt! :)
Theta

6
Unter Fedora ist es pip3.3, dh ohne den Bindestrich zwischen pip und der Version. Überprüfen Sie /usr/bin, welche Pip-Versionen Sie dort haben.
Shailen

5
[x] Ubuntu verwendet auch [ pip2 | pip2.7 | pip3 | pip3.4 ]. Ist dies eine Änderung pipoder ein Unterschied zwischen verschiedenen Systemen?
Jon Surrell

Nach der Hinrichtung bekam ichYou're using an outdated location for the get-pip.py script, please use the one available from https://bootstrap.pypa.io/get-pip.py
Kevin Brotcke

Also mach das dann. :-)
Lennart Regebro

53

Sie können auch apt-get verwenden:

apt-get install python3-pip

Nach meiner Erfahrung funktioniert dies auch ziemlich fließend, und Sie erhalten alle Vorteile von apt-get.


2
Am 12.04 kann ich das nicht machen.
Dranxo

15
Ich habe dies erfolgreich verwendet (dh sudo apt-get install python3-pip) und konnte dann python3-Pakete mit "sudo python3 -m pip install package" installieren.
Tom Slee

2
Ich glaube, mit apt-get erhalten Sie ab heute die veraltete Version 1.5.6. Wenn Sie während pip freeze > requirements(oder anderer potenzieller Fehler) keinen AssertionErrror möchten , installieren Sie die neueste Version von der Quelle und sparen Sie sich Kopfschmerzen.
Yibo Yang

muss root sein, um zu installierenpython3-pip
Florent

Trotz der Installation pipverwendet python3.7 pipwird noch Standard mit Python 2.7 auf Ubuntu 14.04 verwendet werden :( Ich habe Update pip geschaffen auf die neueste Version , dh. 19.3.1 aber seine immer noch standardmäßig python2.7 nehmen. Wie es mit Python nutzen zu machen 3.7 ?
Neugierige Entwickler

48

Installieren Sie zunächst Python 3 pip mit:

sudo apt-get install python3-pip

Dann Python 3 pipverwenden Sie:

pip3 install <module-name>

Zur Python 2 pipVerwendung:

pip install <module-name>

4
Es gibt keinen Python 2-Pip, der vom verwendeten Betriebssystem abhängt. Zum Beispiel unter Arch Linux- pip --versionStatus, die standardmäßig unter Python 3.6 ausgeführt werden.
Daniel Andrei Mincă

Das scheint mir die intuitivste und einfachste Lösung zu sein, danke!
Gebbissimo

15

Wenn Sie die Version nicht jedes Mal angeben müssen, wenn Sie pip verwenden :

Installieren Sie pip:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3

und exportieren Sie den Pfad:

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH

11
Könnten Sie näher darauf eingehen? Ich verstehe nicht, wie die Installation von Distribute damit zu tun hat, dass Sie nicht die Version von pip angeben müssen, die Sie verwenden möchten.
Piotr Dobrogost

13

Der kürzeste Weg:

python3 -m pip install package
python -m pip install package

`` `(test-exif) alex @ alex-xps-13-9370: ~ / projects / oe / app / exif $ python3 -m pip installiere exif / usr / bin / python3: Kein Modul namens
pip`

@axd in diesem Fall installieren Sie zuerst pip mit sudo apt-get install python3-pip. Angenommen, Sie verwenden Python3.
Fünf Elemente

5

Dies funktionierte für mich unter OS X: (Ich sage dies, weil es manchmal ein Problem ist, dass der Mac "eine eigene" Version jedes Open-Source-Tools hat, und Sie können es nicht entfernen, weil "seine Verbesserungen" es für andere Apple-Produkte einzigartig machen und wenn Sie es entfernen, fallen die Dinge auseinander)

Ich habe die von @Lennart Regebro bereitgestellten Schritte befolgt, um pip für Python 3 zu erhalten. Dennoch war pip für Python 2 immer noch der erste auf dem Pfad, also ... habe ich eine symbolische Verknüpfung zu Python 3 in / usr / bin erstellt ( in der Tat habe ich das gleiche getan, um meine 2 Pythons in Ruhe laufen zu lassen):

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3

Beachten Sie, dass ich 3am Ende ein hinzugefügt habe. Im Grunde müssen Sie also pip3statt nur verwenden pip.

Die Post ist alt, aber ich hoffe, das hilft irgendwann jemandem. Dies sollte theoretisch für jedes LINUX-System funktionieren.


4

Unter Suse Linux 13.2 ruft pip python3 auf, aber pip2 ist verfügbar, um die ältere Python-Version zu verwenden.


das gleiche auf voidlinux
Radagast

4

Installieren Sie unter Windows zuerst Python 3.7 und dann Python 2.7. Verwenden Sie dann die Eingabeaufforderung:

pip install python2-module-name

pip3 installiere den Python3-Modulnamen

Das ist alles


3

Bitte beachten Sie, dass ich auf msys2 diese Befehle als hilfreich empfunden habe:

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name

2

Obwohl dies eine alte Frage ist, denke ich, dass ich eine bessere Lösung habe

  1. Verwenden Sie diesen Befehl, um pip für eine Python 2.x-Umgebung zu verwenden:

    py -2 -m pip install -r Anforderungen.txt

  2. Verwenden Sie diesen Befehl, um pip für die Python 3.x-Umgebung zu verwenden:

    py -3 -m pip install -r Anforderungen.txt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.