Python 2 unter Rocky Linux 9 installieren
Python 2 wurde ursprünglich im Oktober 2000 veröffentlicht und wurde rasch unter Entwicklern populär, die groß angelegte Anwendungen entwickelten. Auch wenn der offizielle Support im Januar 2020 eingestellt wurde und keine Wartung mehr erfolgt, verlassen sich zahlreiche Altanwendungen noch immer auf diese Version. Da Rocky Linux 9 Python 2 nicht mehr standardmäßig beinhaltet, musst du es manuell aus dem Quellcode kompilieren und installieren.
In dieser Anleitung erfährst du, wie du Python 2 unter Rocky Linux 9 einrichtest – einschließlich paralleler Nutzung mit Python 3, der Installation von Pip und dem Anlegen einer virtuellen Umgebung für ältere Softwareprojekte.
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du:
- Zugriff auf ein System mit Rocky Linux 9 hast
- Einen Benutzeraccount mit
sudo
-Rechten verwendest (kein Root-User)
Benötigte Build-Pakete installieren
Damit du Python 2 aus dem Quellcode kompilieren kannst, sind einige Entwicklerbibliotheken und Werkzeuge notwendig. Diese ermöglichen beispielsweise Verschlüsselung via SSL, Dateikomprimierung und die Einbindung externer Module. Gehe wie folgt vor:
Schritt 1: DNF-Cache aktualisieren
$ sudo dnf makecache
Schritt 2: Entwicklungswerkzeuge installieren
Dieses Paket enthält wichtige Compiler wie GCC und Make:
$ sudo dnf groupinstall -y "Development Tools"
Schritt 3: Weitere Entwicklungsbibliotheken hinzufügen
Diese Pakete unterstützen u. a. SSL, Komprimierung und externe Module:
$ sudo dnf install -y openssl-devel bzip2-devel libffi-devel wget tar
Python 2.7 kompilieren und installieren
In diesem Abschnitt lädst du den Quellcode herunter, kompilierst ihn und installierst Python 2.7 unter Rocky Linux 9. Um Python 3 nicht zu überschreiben, wird die Methode altinstall
verwendet.
Installierte Python-Version prüfen
$ python --version
Beispielausgabe:
Python 3.9.21
Python 2.7 Quellcode herunterladen
$ wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
Archiv entpacken
$ tar xzf Python-2.7.18.tgz
In das entpackte Verzeichnis wechseln
$ cd Python-2.7.18
Build konfigurieren
Aktiviere Performance-Optimierungen und Unicode-Support:
$ ./configure --with-system-ffi --with-computed-gotos --enable-optimizations --enable-unicode=ucs4
Quellcode kompilieren
Nutze alle verfügbaren CPU-Kerne für den Build:
$ make -j$(nproc) build_all
Mit altinstall installieren
$ sudo make altinstall
Python 2-Version prüfen
$ python2.7 --version
Ausgabe sollte sein:
Python 2.7.18
Symlink für Python 2 erstellen
$ sudo ln -s /usr/local/bin/python2.7 /usr/local/bin/python2
Pip für Python 2 installieren
Um Pakete zu verwalten, wird get-pip.py
verwendet.
Installationsskript herunterladen
$ wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
Skript ausführen
$ python2 get-pip.py
Pip-Version prüfen
$ python2 -m pip --version
# ODER
$ pip2 --version
Erwartete Ausgabe:
pip 20.3.4 from /home/linuxuser/.local/lib/python2.7/site-packages/pip (python 2.7)
Virtuelle Umgebung mit Python 2 erstellen
Da Python 2 keine venv
-Funktion hat, wird virtualenv
verwendet.
Zum Arbeitsverzeichnis wechseln
$ cd ~
virtualenv installieren
$ pip2 install virtualenv
Virtuelle Umgebung erstellen
$ virtualenv --python=2 my_env
Beispielausgabe:
created virtual environment CPython2.7.18.final.0-64 in 168ms...
Inhalt der Umgebung prüfen
$ ls my_env
Beispielausgabe:
bin include lib pyvenv.cfg
Virtuelle Umgebung aktivieren
$ source my_env/bin/activate
Nach Aktivierung ändert sich die Eingabeaufforderung zu:
(my_env) [linuxuser@RockyLinux9 ~]$
Python-Version innerhalb der Umgebung prüfen
$ python --version
Erwartete Ausgabe:
Python 2.7.18
Virtuelle Umgebung beenden
$ deactivate
Die Eingabeaufforderung kehrt zum Standard zurück:
[linuxuser@RockyLinux9 ~]$
Python 2 testen und verwenden
Im nächsten Schritt prüfst du, ob die Installation erfolgreich war, indem du die Python-Shell startest und eine einfache Flask-Webanwendung schreibst. Folge den Anweisungen unten, um die Funktionsfähigkeit zu bestätigen.
Python-2-Interpreter starten
$ python2
Testausgabe in der Shell
>>> print("Greetings from centron!")
Ausgabe sollte lauten:
Greetings from centron!
Python-Shell verlassen
>>> exit()
Flask mit Pip installieren
$ pip2 install flask
Python-Web-App-Datei erstellen
Verwende einen Texteditor wie nano
, um eine neue Datei anzulegen:
$ nano app.py
Flask-Code einfügen
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Greetings from centron!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
Flask-Anwendung im Hintergrund starten
Die App läuft nun auf Port 5000 und ist erreichbar:
$ nohup python2 app.py &
Flask-App mit curl testen
Mit curl
kannst du prüfen, ob die App erreichbar ist:
$ curl http://localhost:5000
Erwartete Ausgabe:
Greetings from centron!
Sicherheitshinweis
Beachte, dass Python 2.7 keine Sicherheitsupdates mehr erhält. Aus Sicherheits- und Performancegründen solltest du auf eine aktuelle Python-Version umsteigen. Nutze Python 2 nur für Altanwendungen, die nicht migriert werden können.
Fazit
Du hast Python 2.7 erfolgreich aus dem Quellcode unter Rocky Linux 9 installiert, Pip für die Paketverwaltung eingerichtet und virtuelle Umgebungen mit virtualenv
erstellt. Zudem hast du die Installation durch eine einfache Flask-Webanwendung verifiziert. So kannst du ältere Projekte mit Python 2 betreiben, ohne die Standardumgebung mit Python 3 zu stören. Für weiterführende Informationen empfiehlt sich ein Blick in die offizielle Python 2.7-Dokumentation.