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:
Siehe auch
- https://www.debian.org/doc/manuals/maint-guide/first.en.html
für Debian-Benutzer
- https://en.opensuse.org/Portal:Packaging
für OpenSuse-Benutzer
- https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/
für Fedora-Benutzer
- https://slackbook.org/html/package-management-making-packages.html
für Slackware-Benutzer
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¶
Um die OpenSSL-Konfiguration und den System-Trust-Store Ihres Anbieters zu verwenden, suchen Sie das Verzeichnis mit der Datei
openssl.cnfoder einem Symlink in/etc. Auf den meisten Distributionen befindet sich die Datei entweder in/etc/ssloder/etc/pki/tls. Das Verzeichnis sollte auch eine Dateicert.pemund/oder ein Verzeichniscertsenthalten.$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Laden Sie OpenSSL herunter, kompilieren und installieren Sie es. Stellen Sie sicher, dass Sie
install_swund nichtinstallverwenden. Das Zielinstall_swüberschreibtopenssl.cnfnicht.$ 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
Bauen Sie Python mit benutzerdefiniertem OpenSSL (siehe die Konfigurationsoptionen
--with-opensslund--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.