Wie installiere ich pip in CentOS 7?

110

CentOS 7 EPEL enthält jetzt Python 3.4: yum install python34

Wenn ich das versuche, wird Python 3.4 zwar erfolgreich installiert, aber anscheinend nicht installiert. Was seltsam ist, weil pipes standardmäßig in Python 3.4 enthalten sein sollte. which pip3findet nichts und tut es auch nicht which pip.

Wie greife ich über das Python 3.4-Paket in CentOS 7 EPEL auf pip zu?

Jeff Widman
quelle
3
wahrscheinlich verwandt: stackoverflow.com/questions/26576086/…
cel
1
Ich habe dort durchgesehen, aber leider nichts.
Jeff Widman
Es gibt also keine pip34Binärdatei? Nun, Sie können pip immer anrufen, python -m pipwenn es installiert ist. Wenn es nicht installiert ist, python -m ensurepipkann es zum Bootstrap verwendet werden. Möglicherweise benötigen Sie erhöhte Rechte, um den letzteren Befehl aufzurufen.
Cel
1
Richtig, keine pip*Binärdatei, die ich finden kann /usr/bin/. Ich bin mir ziemlich sicher, dass ich am richtigen Ort bin, weil dort python3.4und pyvenv-3.4wo sie installiert sind und sie nicht mit einem anderen Ort verbunden sind. Na ja, sieht so aus, als wäre es einfach nicht im python3.4-Paket enthalten, was ein bisschen nervig ist. Das ensurepipModul existiert auch python3.4nicht, daher werde ich wahrscheinlich nur die iUS-Repos verwenden, bis EPEL ausgeliefert wird python3-pipoder ein gleichwertiges Modul .
Jeff Widman
1
Anscheinend befindet sich die Python3- EPEL-Anstrengung noch in einem frühen Stadium . Siehe auch pyvenv3.4 funktioniert nicht ohne pip und python34s surepip ist kaputt .
Maxschlepzig

Antworten:

158

Der einfachste Weg, pip3 (für python3.x-Pakete) unter CentOS 7 zu installieren, ist:

$ sudo yum install python34-setuptools
$ sudo easy_install-3.4 pip

Natürlich muss das EPEL-Repository vorher aktiviert sein.

Sie sollten jetzt in der Lage sein, Befehle wie die folgenden auszuführen, um Pakete für python3.x zu installieren:

$ pip3 install foo
Foobrew
quelle
Ich denke, dies ist auch die beste Lösung, während alles gesund bleibt. Ich empfehle nicht, init .py
laapsaap
Die vereinbarte beste Lösung macht dies zur Standardantwort
johhny B
7
Auf meinem RHEL-7-System, mit EPEL eingerichtet, habe ich es gerade erfolgreich gemachtyum install python34-pip
Mike
1
Bemerkenswert, dass easy_install-3.4 pipdas System überschrieben wurde pip. Ich habe yum reinstall python-pipdanach ein gemacht, um keine Probleme zu haben. Dies bedeutet, dass Sie explizit aufrufen müssen pip3, um es wie erwartet zu verwenden.
Miken32
52
curl https://bootstrap.pypa.io/get-pip.py | python3.4

Oder wenn Sie curlaus irgendeinem Grund nicht haben :

wget https://bootstrap.pypa.io/get-pip.py
python3.4 get-pip.py

Danach sollten Sie laufen können

$ pip3
DevOops
quelle
1
Ich habe diesen Fehler erhalten: zipimport.ZipImportError: Daten können nicht dekomprimiert werden; zlib nicht verfügbar ... wissen Sie, warum dies passiert?
SoldierCorp
Klingt so, als hätten Sie zlib-devel oder zlib nicht, je nachdem. Können Sie versuchen, es mit Ihrem Paketmanager zu installieren? sudo yum install zlib oder sudo apt-get install zlib. Ich hoffe das hilft.
DevOops
Ich habe auch das gleiche Problem wie @SoldierCorp, aber wenn ich versuche, zlibes zu installieren , sagt es Package zlib-1.2.3-29.el6.x86_64 already installed and latest versioneine Idee, was passiert?
Mostafiz Rahman
Wenn Sie unter OS X 10.11 installieren, können Sie versuchen, das xcode-Setup erneut auszuführen: xcode-select --install
DevOops
Ich benutze Centos 6.7
Mostafiz Rahman
16

Das CentOS 7 yum-Paket für Python34 enthält zwar das ensurepipModul, es fehlen jedoch aus irgendeinem Grund die Setuptools und Pip-Dateien, die Teil dieses Moduls sein sollten. Laden Sie zum Beheben die neuesten Räder von PyPI in das _bundledVerzeichnis des Moduls herunter ( /lib64/python3.4/ensurepip/_bundled/):

setuptools-18.4-py2.py3-none-any.whl
pip-7.1.2-py2.py3-none-any.whl

Bearbeiten Sie __init__.pydann entsprechend den heruntergeladenen Versionen:

_SETUPTOOLS_VERSION = "18.4"
_PIP_VERSION = "7.1.2"

danach python3.4 -m ensurepipfunktioniert wie vorgesehen. Ensurepip wird jedes Mal automatisch aufgerufen, wenn Sie eine virtuelle Umgebung erstellen. Beispiel:

pyvenv-3.4 py3
source py3/bin/activate

Hoffentlich wird RH das kaputte Python3.4-Yum-Paket reparieren, so dass kein manuelles Patchen erforderlich ist.

Dave
quelle
2
Sehr geschätzt. Für diejenigen, die dies benötigen, sind die Räder hier für Setuptools pypi.python.org/simple/setuptools und hier für pip pypi.python.org/simple/pip
yoshiwaan
Leider verursacht das Bearbeiten der init .py-Datei von surepip einen Fehler bei der RPM-Überprüfung und wird auch bei Paketaktualisierungen überschrieben.
Carlwgeorge
2
Ich würde wirklich gerne wissen, was zum Teufel ihre Gründe dafür waren, dieses Chaos zu verursachen. Ich sage mir, dass es einen guten Grund geben muss ...
Xenithorb
@xenithorb, das Grundprinzip war wahrscheinlich, pip separat zu verpacken - da Fedora dies auch getan hat python3-pip. Das Projekt python3 on EPEL ist offenbar noch in Arbeit.
Maxschlepzig
EPEL (Extra-Pakete für Enterprise Linux) python36funktioniert jetzt mit python3.6 -m ensurepip.
Kevin
9

Update: Der unten erwähnte Python34-Fehler wurde endlich behoben. Es ist jetzt eine vollkommen gute Wahl.

Anstatt kaputte EPEL python34-Pakete zu verwenden , können Sie das IUS-Repo aktivieren und es ordnungsgemäß funktionieren lassen.

  • Pip in virtuellen Umgebungen

Das Haupt- python34uund das python35uIUS-Paket enthalten das Pyvenv-Tool ( /usr/bin/pyvenv-3.4oder /usr/bin/pyvenv-3.5), das gebündelte Pip-Räder und Setuptools zum Booten virtueller Umgebungen enthält.

  • global pip

Die python34u-pipund python35u-pipIUS Pakete beinhalten /usr/bin/pip3.4und /usr/bin/pip3.5jeweils. Diese funktionieren einwandfrei, um Pakete im System-Site-Packages-Verzeichnis zu installieren.

Carlwgeorge
quelle
1
Ich bin mir nicht sicher, warum jemand diese Antwort ablehnen würde. Vielen Dank, dass Sie uns auf IUS aufmerksam gemacht haben.
Dave
In Bezug auf die Abwertung wäre es hilfreich gewesen, den "kaputten" Kommentar zu EPEL-Installationen zu erklären. Auch ich habe IUS heute bei einer ähnlichen Suche entdeckt, und jede Erwähnung dieser Antwort hier verdient eine positive Bewertung.
Mark Edington
1
@MarkEdington Ich habe die Antwort bearbeitet, um einen Link zu bugzilla.redhat.com/show_bug.cgi?id=1263057 hinzuzufügen .
Carlwgeorge
1
Dieses Problem wurde mit Python34-3.4.5-4
DrStrangepork
8
yum install python34-pip

pip3.4 install foo

Wahrscheinlich müssen die EPEL-Repositorys installiert sein:

yum install -y epel-release

Shen Yu
quelle
Aus welchem ​​Repo kommt dieses leckere Paket?
Jeff Widman
1
CentOS 7. *:yum install -y epel-release
Shen Yu
1
Klingt so, als ob dies kürzlich zu EPEL hinzugefügt wurde und wahrscheinlich die richtige Antwort sein sollte. Sobald andere bestätigen, dass dies auch für sie funktioniert, werde ich dies zur akzeptierten Antwort machen.
Jeff Widman
Funktioniert wie ein Zauber für mich. :)
Bill Cheng
Diese Antwort half beim Ausführen auf einem VPS-Server
jking
3

Update 2019

Ich habe zuerst easy_install ausprobiert, aber es installiert Pakete nicht auf saubere und intuitive Weise. Auch wenn es darum geht, Pakete zu entfernen, blieben viele Artefakte zurück, die bereinigt werden mussten.

sudo yum install epel-release
sudo yum install python34-pip
pip install package

War die Lösung, die für mich funktioniert hat, installiert sie "pip3" als pip auf dem System. Es verwendet auch eine Standard-Drehzahlstruktur, so dass es beim Entfernen sauber ist. Ich bin nicht sicher, welchen Prozess Sie ausführen müssen, wenn Sie sowohl den Python2- als auch den Python3-Paketmanager auf Ihrem System haben möchten.

Aundre
quelle
1
Dies ist der richtige Weg, wenn Sie einen VPS-Server
ausführen
0

Es gibt eine einfache Möglichkeit, dies zu tun, indem Sie einfach easy_install verwenden (A Setuptools zum Packen von Python-Bibliotheken).

  • Annahme. Bevor Sie dies tun, überprüfen Sie, ob Sie Python auf Ihrem Centos-Computer installiert haben (mindestens 2.x).

  • Schritte zum Installieren von pip.

    1. Lassen Sie uns also easy_install installieren.

      sudo yum installiere python-setuptools python-setuptools-devel

    2. Jetzt machen wir pip mit easy_install,

      sudo easy_install pip

Das ist großartig. Jetzt hast du pip :)

Sundar Gsv
quelle
0

Finden Sie heraus, welche Version von Python3 Sie installiert haben:

yum search pip

und installieren Sie dann die beste Übereinstimmung. Verwenden Sie reqoquery, um den Namen der resultierenden pip3.eg zu finden

repoquery -l python36u-pip

sagt mir, ich soll pip3.6 anstelle von pip3 verwenden

gerardw
quelle
0

Im Folgenden sind die Schritte aufgeführt, die ich zur Installation von Python34 und Pip ausgeführt habe

yum update -y
yum -y install yum-utils
yum -y groupinstall development
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
yum makecache
yum -y install python34u  python34u-pip
python3.6 -v
echo "alias python=/usr/bin/python3.4" >> ~/.bash_profile
source ~/.bash_profile
pip3 install --upgrade pip

# if yum install python34u-pip doesnt work, try 

curl https://bootstrap.pypa.io/get-pip.py | python
user2412711
quelle
Um pip3 mit curl zu installieren, habe ichcurl https://bootstrap.pypa.io/get-pip.py | python3
mRyan
-4

Unter CentOS 7 befindet sich die pipVersion pip3.4hier:

/usr/local/bin/pip3.4
user1631898
quelle
2
Es ist unwahrscheinlich, dass Dateien in / usr / local / bin von RHEL / CentOS gepackt werden. Können Sie "rpm -qf /usr/local/bin/pip3.4" erfolgreich ausführen? Wenn dies funktioniert, "rpm -qi <Paketname>" in der Ausgabe ... wer ist der Packager?
Jeff W