2. Python unter Unix-Plattformen verwenden

2.1. Die neueste Version von Python beziehen und installieren

2.1.1. Unter Linux

Python ist auf den meisten Linux-Distributionen vorinstalliert und auf allen anderen als Paket verfügbar. Es gibt jedoch bestimmte Features, die Sie vielleicht nutzen möchten und die auf den Paketen Ihrer Distribution nicht verfügbar sind. Sie können die neueste Version von Python aus dem Quellcode kompilieren.

Sollte die neueste Version von Python nicht vorinstalliert sein und auch nicht in den Repositories vorhanden sein, können Sie Pakete für Ihre eigene Distribution erstellen. Schauen Sie sich die folgenden Links an:

2.1.1.1. IDLE installieren

In einigen Fällen ist IDLE möglicherweise nicht in Ihrer Python-Installation enthalten.

  • Für Debian und Ubuntu-Benutzer

    sudo apt update
    sudo apt install idle
    
  • Für Fedora, RHEL und CentOS-Benutzer

    sudo dnf install python3-idle
    
  • Für SUSE und OpenSUSE-Benutzer

    sudo zypper install python3-idle
    
  • Für Alpine Linux-Benutzer

    sudo apk add python3-idle
    

2.1.2. Unter FreeBSD und OpenBSD

  • FreeBSD-Benutzer, um das Paket hinzuzufügen, verwenden Sie

    pkg install python3
    
  • OpenBSD-Benutzer, um das Paket hinzuzufügen, verwenden Sie

    pkg_add -r python
    
    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
    

    Beispiel: i386-Benutzer erhalten die Version 2.5.1 von Python mit

    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
    

2.2. Python bauen

Wenn Sie CPython selbst kompilieren möchten, besorgen Sie sich zuerst den Quellcode. Sie können entweder den Quellcode der neuesten Version herunterladen oder einfach einen frischen Klon ziehen. (Wenn Sie Patches beisteuern möchten, benötigen Sie einen Klon.)

Der Build-Prozess besteht aus den üblichen Befehlen

./configure
make
make install

Konfigurationsoptionen und Besonderheiten für spezifische Unix-Plattformen sind ausführlich in der Datei README.rst im Stammverzeichnis des Python-Quellcodebaums dokumentiert.

Warnung

make install kann die python3 Binärdatei überschreiben oder sich als diese ausgeben. make altinstall wird daher anstelle von make install empfohlen, da es nur exec_prefix/bin/pythonversion installiert.

2.4. Sonstiges

Um Python-Skripte unter Unix einfach zu verwenden, müssen Sie sie ausführbar machen, z.B. mit

$ chmod +x script

und am Anfang des Skripts eine passende Shebang-Zeile einfügen. Eine gute Wahl ist normalerweise

#!/usr/bin/env python3

was den Python-Interpreter im gesamten PATH durchsucht. Einige Unices haben jedoch möglicherweise nicht den Befehl env, sodass Sie /usr/bin/python3 als Interpreterpfad fest verdrahten müssen.

Um Shell-Befehle in Ihren Python-Skripten zu verwenden, schauen Sie sich das Modul subprocess an.

2.5. Benutzerdefiniertes OpenSSL

  1. Um die OpenSSL-Konfiguration und den System-Trust-Store Ihres Anbieters zu verwenden, suchen Sie das Verzeichnis mit der Datei openssl.cnf oder einem Symlink in /etc. Auf den meisten Distributionen befindet sich die Datei entweder in /etc/ssl oder /etc/pki/tls. Das Verzeichnis sollte auch eine Datei cert.pem und/oder ein Verzeichnis certs enthalten.

    $ find /etc/ -name openssl.cnf -printf "%h\n"
    /etc/ssl
    
  2. Laden Sie OpenSSL herunter, kompilieren und installieren Sie es. Stellen Sie sicher, dass Sie install_sw und nicht install verwenden. Das Ziel install_sw überschreibt openssl.cnf nicht.

    $ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz
    $ tar xzf openssl-VERSION
    $ pushd openssl-VERSION
    $ ./config \
        --prefix=/usr/local/custom-openssl \
        --libdir=lib \
        --openssldir=/etc/ssl
    $ make -j1 depend
    $ make -j8
    $ make install_sw
    $ popd
    
  3. Bauen Sie Python mit benutzerdefiniertem OpenSSL (siehe die Konfigurationsoptionen --with-openssl und --with-openssl-rpath)

    $ pushd python-3.x.x
    $ ./configure -C \
        --with-openssl=/usr/local/custom-openssl \
        --with-openssl-rpath=auto \
        --prefix=/usr/local/python-3.x.x
    $ make -j8
    $ make altinstall
    

Hinweis

Patch-Releases von OpenSSL haben eine abwärtskompatible ABI. Sie müssen Python nicht neu kompilieren, um OpenSSL zu aktualisieren. Es reicht aus, die benutzerdefinierte OpenSSL-Installation durch eine neuere Version zu ersetzen.