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)
Passende Infrastruktur bei centron
Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →
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 makecacheSchritt 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 tarPython 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 --versionBeispielausgabe:
Python 3.9.21
Python 2.7 Quellcode herunterladen
$ wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgzArchiv entpacken
$ tar xzf Python-2.7.18.tgzIn das entpackte Verzeichnis wechseln
$ cd Python-2.7.18Build konfigurieren
Aktiviere Performance-Optimierungen und Unicode-Support:
$ ./configure --with-system-ffi --with-computed-gotos --enable-optimizations --enable-unicode=ucs4Quellcode kompilieren
Nutze alle verfügbaren CPU-Kerne für den Build:
$ make -j$(nproc) build_allMit altinstall installieren
$ sudo make altinstallPython 2-Version prüfen
$ python2.7 --versionAusgabe sollte sein:
Python 2.7.18
Symlink für Python 2 erstellen
$ sudo ln -s /usr/local/bin/python2.7 /usr/local/bin/python2Pip 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.pySkript ausführen
$ python2 get-pip.pyPip-Version prüfen
$ python2 -m pip --version
# ODER
$ pip2 --versionErwartete 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 virtualenvVirtuelle Umgebung erstellen
$ virtualenv --python=2 my_envBeispielausgabe:
created virtual environment CPython2.7.18.final.0-64 in 168ms...
Inhalt der Umgebung prüfen
$ ls my_envBeispielausgabe:
bin include lib pyvenv.cfg
Virtuelle Umgebung aktivieren
$ source my_env/bin/activateNach Aktivierung ändert sich die Eingabeaufforderung zu:
(my_env) [linuxuser@RockyLinux9 ~]$
Python-Version innerhalb der Umgebung prüfen
$ python --versionErwartete Ausgabe:
Python 2.7.18
Virtuelle Umgebung beenden
$ deactivateDie 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
$ python2Testausgabe in der Shell
>>> print("Greetings from centron!")Ausgabe sollte lauten:
Greetings from centron!
Python-Shell verlassen
>>> exit()Flask mit Pip installieren
$ pip2 install flaskPython-Web-App-Datei erstellen
Verwende einen Texteditor wie nano, um eine neue Datei anzulegen:
$ nano app.pyFlask-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:5000Erwartete 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.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.