it-swarm.com.de

Installieren von Python 3 auf RHEL

Ich versuche, python3 mit den folgenden Schritten auf RHEL zu installieren:

yum search python3

Welcher No matches found for: python3 zurückgegeben wurde

Gefolgt von:

yum search python

Keines der Suchergebnisse enthielt Python3. Was soll ich als nächstes versuchen?

98

Es ist leicht, es manuell zu installieren:

  1. Download (möglicherweise gibt es neuere Versionen auf Python.org ): 

    $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
    
  2. Unzip

    $ tar xf Python-3.* 
    $ cd Python-3.*
    
  3. Zusammenstellung vorbereiten

    $ ./configure
    
  4. Bauen

    $ make
    
  5. Installieren

    $ make install
    

    ODER wenn Sie die ausführbare Datei python nicht überschreiben möchten (sicherer, zumindest für einige Distros yum muss python 2.x sein, z. B. für RHEL6) - Sie können python3.* als gleichzeitige Instanz im Systemstandard mit einer altinstall :

    $ make altinstall
    

Wenn Sie jetzt ein alternatives Installationsverzeichnis wünschen, können Sie --prefix an den Befehl configure übergeben.

Beispiel: Um Python in/opt/local zu installieren, fügen Sie einfach --prefix=/opt/local hinzu. 

Nach dem make install-Schritt: Um Ihre neue Python-Installation verwenden zu können, müssen Sie möglicherweise noch das [Präfix]/bin zu $PATH und [Präfix]/lib zum $LD_LIBRARY_PATH hinzufügen (abhängig von dem übergebenen --prefix).

156
gecco

Die Installation von RPM ist im Allgemeinen besser, weil:

  • sie können und uninstall (richtig) python3 installieren.
  • die Installationszeit ist viel schneller. Wenn Sie in einer Cloud-Umgebung mit mehreren VMs arbeiten, ist das Kompilieren von Python3 auf allen VMs nicht akzeptabel.

Lösung 1: Red Hat & EPEL-Repositories

Durch das Repository EPEL hat Red Hat Python 3.4 für CentOS 6 und 7 hinzugefügt.

Unglücklicherweise:

  • pip3 ist in keinem RPM gebündelt. Sie müssen manuell installieren (siehe unten).
  • pyvenv ist fehlerhaft und funktioniert nicht. Sie müssen virtualenv verwenden.

[EPEL] So installieren Sie Python 3.4 unter CentOS 6 & 7

Sudo yum install -y epel-release
Sudo yum install -y python34

# Install pip3
Sudo yum install -y python34-setuptools  # install easy_install-3.4
Sudo easy_install-3.4 pip

# I guess you would like to install virtualenv or virtualenvwrapper
Sudo pip3 install virtualenv
Sudo pip3 install virtualenvwrapper

Wenn Sie pyvenv verwenden möchten, können Sie pip3 in Ihrer virtuellen Umgebung folgendermaßen installieren:

pyvenv --without-pip my_env
curl https://bootstrap.pypa.io/get-pip.py | my_env/bin/python

Wenn Sie es jedoch sofort installieren möchten, können Sie diese bash-Funktion (Alias) in Ihren .bashrc einfügen:

pyvenv() { /usr/bin/pyvenv --without-pip [email protected]; for env in [email protected]; do curl https://bootstrap.pypa.io/get-pip.py | "$env/bin/python"; done; }

Lösung 2: IUS Community-Repositories

Die IUS-Community bietet einige aktuelle Pakete für RHEL & CentOS. Die Jungs dahinter sind von Rackspace, also denke ich, dass sie ziemlich vertrauenswürdig sind ...

https://ius.io/

Überprüfen Sie hier das richtige Repo:

https://ius.io/GettingStarted/

[IUS] So installieren Sie Python 3.5 unter CentOS 6

Sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm
Sudo yum install -y python35u python35u-pip

# I guess you would like to install virtualenv or virtualenvwrapper
Sudo pip3.5 install virtualenv
Sudo pip3.5 install virtualenvwrapper

Hinweis: Sie haben pyvenv-3.5 sofort verfügbar, wenn Sie virtualenv nicht verwenden möchten.

[IUS] So installieren Sie Python 3.5 unter CentOS 7

Sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
Sudo yum install -y python35u python35u-pip

# I guess you would like to install virtualenv or virtualenvwrapper
Sudo pip3.5 install virtualenv
Sudo pip3.5 install virtualenvwrapper

Hinweis: Sie haben pyvenv-3.5 sofort verfügbar, wenn Sie virtualenv nicht verwenden möchten.

200
Samuel Phan

Abgesehen von der Antwort von gecco würde ich Schritt 3 ändern von:

./configure

zu:

./configure --prefix=/opt/python3

Nach der Installation könnten Sie auch:

# ln -s /opt/python3/bin/python3 /usr/bin/python3

Es soll sichergestellt werden, dass die Installation keinen Konflikt mit Python verursacht, das mit yum installiert wird.

Siehe Erklärung, die ich im Internet gefunden habe:

http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source

30
rsc

Sie können Quell-RPMs und Binär-RPMs für RHEL6/CentOS6 unter __. hier herunterladen.

Dies ist ein Rückport aus der neuesten Fedora-Entwicklung Source rpm zu RHEL6/CentOS6

9

Verwenden Sie die SCL-Repos.

Sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python33.repo >> /etc/yum.repos.d/scl.repo'
Sudo yum install python33
scl enable python27

(Dieser letzte Befehl muss jedes Mal ausgeführt werden, wenn Sie Python27 anstelle des Systemstandards verwenden möchten.)

9
Paul Draper

Neben Python 2.7 und 3.3 enthält Red Hat Software Collections jetzt auch Python 3.4 - alle funktionieren auf RHEL 6 und 7.

RHSCL 2.0-Dokumente sind unter https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/

Plus viele Artikel auf developerblog.redhat.com.

edit

Befolgen Sie diese Anweisungen , um Python 3.4 unter RHEL 6/7 oder CentOS 6/7 zu installieren:

# 1. Install the Software Collections tools:
yum install scl-utils

# 2. Download a package with repository for your system.
#  (See the Yum Repositories on external link. For RHEL/CentOS 6:)
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm
#  or for RHEL/CentOS 7
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm

# 3. Install the repo package (on RHEL you will need to enable optional channel first):
yum install rhscl-rh-python34-*.noarch.rpm

# 4. Install the collection:
yum install rh-python34

# 5. Start using software collections:
scl enable rh-python34 bash
8
Mike Guerette

Python3 wurde kürzlich als Python34 zu EPEL7 hinzugefügt.

Es gibt (derzeit) Anstrengungen, Verpackungsrichtlinien für das Packen von Python3-Paketen in EPEL7 zu erstellen.

Siehe https://bugzilla.redhat.com/show_bug.cgi?id=1219411
und https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html

7
rkuska

Ich hatte das gleiche Problem mit dem Python 2.7. Führen Sie die folgenden Schritte aus, um ein Upgrade auf 3.6 ..__ erfolgreich durchzuführen.

  1. Sehen Sie vor dem Upgrade die Version 2.x

    python --version
    Python 2.7.5
    
  2. Verwenden Sie den folgenden Befehl, um Ihren Python auf die 3.x-Version zu aktualisieren.

    yum install python3x

    ersetzen Sie x mit der gewünschten Versionsnummer.

    für die Installation von Python 3.6 ausführen

    yum install python36
    
  3. Wenn Sie diesen Python für Ihre Standardversion festlegen möchten, fügen Sie ihn in bashrc file hinzu 

    vi ~/.bashrc 

    alias python='python3.6'
    
  4. führen Sie den Befehl bash aus, um die Einstellungen zu übernehmen

    bash 
    
  5. Nun sehen Sie die Version unten

    python --version
    Python 3.6.3
    
5
IRSHAD

Drei Schritte mit Python 3.5 von Software Collections :

Sudo yum install centos-release-scl
Sudo yum install rh-python35
scl enable rh-python35 bash

Beachten Sie, dass Sudo für den letzten Befehl nicht benötigt wird. Jetzt können wir sehen, dass Python 3 der Standard für die aktuelle Shell ist:

python --version
Python 3.5.1

Überspringen Sie einfach den letzten Befehl, wenn Sie Python 2 lieber als Standard für die aktuelle Shell verwenden möchten.

Nehmen wir jetzt an, dass Ihre Python 3-Skripts einen Fehler wie /usr/bin/env: python3: No such file or directory anzeigen. Dies liegt daran, dass die Installation normalerweise auf einem ungewöhnlichen Pfad erfolgt:

/opt/rh/rh-python35/root/bin/python3

Das obige wäre normalerweise ein Symlink. Wenn Sie möchten, dass python3 für alle Benutzer beim Start automatisch zum $PATH hinzugefügt wird, können Sie dazu folgende Datei hinzufügen:

Sudo vim /etc/profile.d/rh-python35.sh

Was hätte so etwas wie:

#!/bin/bash

PATH=$PATH:/opt/rh/rh-python35/root/bin/

Und jetzt nach einem Neustart, wenn wir das tun

python3 --version

Es sollte einfach funktionieren. Eine Ausnahme wäre ein automatisch generierter Benutzer wie "Jenkins" in einem Jenkins-Server, der keine Shell hat. In diesem Fall wäre das manuelle Hinzufügen des Pfads zu $PATH in Skripten eine Möglichkeit.

Wenn Sie schließlich Sudo pip3 zum Installieren von Paketen verwenden, aber Sie erfahren, dass pip3 nicht gefunden werden kann, kann es sein, dass Sie einen sicheren_pfad in /etc/sudoers haben. Die Überprüfung mit Sudo visudo sollte dies bestätigen. Um vorübergehend den Standard PATH zu verwenden, wenn Sie Befehle ausführen, können Sie beispielsweise Folgendes tun:

Sudo env "PATH=$PATH" pip3 --version

Siehe this question für weitere Details.

NOTE: Es gibt einen neueren Python 3.6 von Software Collections, den ich zu diesem Zeitpunkt jedoch nicht empfehlen würde, da ich bei der Installation von Pycurl große Kopfschmerzen hatte. Für Python 3.5 ist das kein Problem, weil ich gerade Sudo yum install sclo-python35-python-pycurl gemacht habe, was von Haus aus funktioniert.

4
Nagev

Ich sehe alle Antworten darin, entweder zu fragen, ob Sie Python3 aus Code kompilieren oder das binäre RPM-Paket installieren. Hier ist eine weitere Antwort, um EPEL (Extra Packages für Enterprise Linux) zu aktivieren und anschließend Python mit yum zu installieren. Schritte für RHEL 7.5 (Maipo)

yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36

Siehe auch link

4
Jay Rajput

Wenn Sie sich bei RHEL befinden und ein Red Hat-unterstütztes Python verwenden möchten, verwenden Sie Red Hat Software Collections (RHSCL). Die EPEL- und IUS-Pakete werden von Red Hat nicht unterstützt. Auch viele der obigen Antworten weisen auf die CentOS-Software-Sammlungen hin. Während Sie diese installieren können, handelt es sich nicht um die von Red Hat unterstützten Pakete für RHEL. 

Die am besten gewählte Antwort gibt einen schlechten Ratschlag - An RHEL möchten Sie /usr/bin/python, /usr/bin/python2 nicht ändern, da Sie wahrscheinlich yum und andere RHEL-Verwaltungswerkzeuge brechen werden. Schauen Sie sich /bin/yum an, es ist ein Python-Skript, das mit #!/usr/bin/python beginnt. Wenn Sie Python aus der Quelle kompilieren, führen Sie keinen make install als root aus. Das wird /usr/bin/python überschreiben. Wenn Sie yum brechen, kann es schwierig sein, Ihr System wiederherzustellen.

Weitere Informationen finden Sie unter Installation von Python 3, pip, venv, virtualenv und pipenv auf RHEL on developer.redhat.com . Es behandelt die Installation und Verwendung von Python 3 über RHSCL, die Verwendung von virtuellen Python-Umgebungen sowie eine Reihe von Tipps zum Arbeiten mit Softwaresammlungen und zum Arbeiten mit Python unter RHEL.

Kurz gesagt, um Python 3.6 über Red Hat Software Collections zu installieren:

$ su -
# subscription-manager repos --enable rhel-7-server-optional-rpms \
   --enable rhel-server-rhscl-7-rpms
# yum -y install @development
# yum -y install rh-python36

# yum -y install rh-python36-numpy \
   rh-python36-scipy \ 
   rh-python36-python-tools \
   rh-python36-python-six

Um eine Softwaresammlung zu verwenden, müssen Sie sie aktivieren:

scl enable rh-python36 bash

Wenn Sie jedoch möchten, dass Python 3 dauerhaft aktiviert wird, können Sie Folgendes zu ~/.bashrc hinzufügen und sich dann ab- und wieder anmelden. Jetzt ist Python 3 permanent in Ihrem Pfad.

# Add RHSCL Python 3 to my login environment
source scl_source enable rh-python36

Hinweis: Wenn Sie python eingeben, erhalten Sie jetzt Python 3.6 anstelle von Python 2.7.

Im obigen Artikel finden Sie all dies und noch viel mehr Details. 

3
Rob T.

Hier sind die Schritte, die ich zur Installation von Python3 befolgt habe:

yum install wget
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz  
Sudo tar xvf Python-3.*   
cd Python-3.* 
Sudo ./configure --prefix=/opt/python3    
Sudo make   
Sudo make install   
Sudo ln -s /opt/python3/bin/python3 /usr/bin/python3

$ /usr/bin/python3    
Python 3.6.0
3
Aty

Wenn Sie offizielle RHEL-Pakete wünschen, können Sie RHSCL (Red Hat Software Collections) verwenden.

Mehr Details:

Sie müssen Zugriff auf das Red Hat-Kundenportal haben, um vollständige Artikel lesen zu können.

3
daneel

Für RHEL unter Amazon Linux musste ich mit Python3 Folgendes tun:

Sudo yum installieren python34-devel

1

yum install python34.x86_64 funktioniert, wenn Sie epel-release installiert haben, was diese Antwort erklärt, wie Sie dies tun, und ich habe bestätigt, dass RHEL 7.3 funktioniert hat.

$ cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)

$ type python3
python3 is hashed (/usr/bin/python3)
1
amphibient

Voll funktionsfähig 36, wenn SCL nicht verfügbar ist (basierend auf Joys-Eingabe)

yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36

Sudo yum install python34-setuptools
Sudo mkdir /usr/local/lib/python3.6
Sudo mkdir /usr/local/lib/python3.6/site-packages

Sudo easy_install-3.6 pip

Endlich die Umgebung aktivieren ...

pyvenv-3.6 py3
source py3/bin/activate

Dann python3

1
OSP

Sie können Miniconda installieren ( https://conda.io/miniconda.html ). Das ist ein bisschen mehr als nur Python 3.7, aber die Installation ist sehr einfach und unkompliziert.

curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O
Sudo yum install bzip2
bash Miniconda3-latest-Linux-x86_64.sh

Sie müssen die Lizenzvereinbarung akzeptieren und im interaktiven Modus einige Optionen auswählen (akzeptieren Sie die Standardeinstellungen).

0
grabantot

Für diejenigen, die an AWS EC2 RHEL 7.5 arbeiten, (verwenden Sie Sudo) aktivieren Sie die erforderlichen Repos

yum-config-manager --enable rhui-REGION-rhel-server-optional
yum-config-manager --enable rhui-REGION-rhel-server-rhscl

Installieren Sie Python 3.6

yum install rh-python36

Installieren Sie andere Abhängigkeiten

yum install rh-python36-numpy  rh-python36-scipy  rh-python36-python-tools  rh-python36-python-six
0
Vasu