2. Python unter Unix Plattformen verwenden¶
2.1. Die neueste Python-Version beziehen und installieren¶
2.1.1. Unter Linux¶
Python ist auf den meisten Linux-Distributionen vorinstalliert und auf allen übrigen als Paket verfügbar. Es gibt allerdings bestimmte Funktionen, die du vielleicht nutzen möchtest und die im Paket deiner Distribution nicht enthalten sind. Du kannst die neueste Python-Version aus dem Quellcode kompilieren.
Falls die neueste Python-Version nicht vorinstalliert ist und auch nicht in den Paketquellen liegt, kannst du Pakete für deine eigene Distribution bauen. Sieh dir dazu die folgenden Verweise 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 nicht in deiner 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 Benutzer von Alpine Linux:
sudo apk add python3-idle
2.1.2. Unter FreeBSD und OpenBSD¶
FreeBSD-Benutzer fügen das Paket so hinzu:
pkg install python3
OpenBSD-Benutzer fügen das Paket so hinzu:
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
Benutzer von i386 bekommen die Version 2.5.1 von Python zum Beispiel so:
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.2. Python bauen¶
If you want to compile CPython yourself, first thing you should do is get the source. You can download either the latest release’s source or just grab a fresh clone. (If you want to contribute patches, you will need a clone.)
Der Bauvorgang besteht aus den gewohnten Befehlen:
./configure
make
make install
Konfigurationsoptionen und Besonderheiten einzelner Unix-Plattformen sind ausführlich in der Datei README.rst in der Wurzel des Python-Quellbaums beschrieben.
Warnung
make install kann die Binärdatei python3 überschreiben oder verdecken. Statt make install empfiehlt sich daher make altinstall, denn es installiert nur exec_prefix/bin/pythonversion.
2.4. Verschiedenes¶
Damit sich Python-Skripte unter Unix bequem verwenden lassen, musst du sie ausführbar machen, etwa mit
$ chmod +x script
und oben im Skript eine passende Shebang-Zeile einfügen. Eine gute Wahl ist meist
#!/usr/bin/env python3
was den Python-Interpreter im ganzen PATH sucht. Manche Unix-Varianten haben allerdings keinen Befehl env, dann musst du /usr/bin/python3 als Interpreterpfad fest eintragen.
Um Shell-Befehle in deinen Python-Skripten zu verwenden, sieh dir das Modul subprocess an.
2.5. Eigenes OpenSSL¶
Um die OpenSSL-Konfiguration deines Anbieters und den Vertrauensspeicher des Systems zu verwenden, finde das Verzeichnis mit der Datei
openssl.cnfoder der symbolischen Verknüpfung darauf in/etc. Auf den meisten Distributionen liegt die Datei entweder in/etc/ssloder in/etc/pki/tls. Das Verzeichnis sollte außerdem eine Dateicert.pemund/oder ein Verzeichniscertsenthalten.$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Lade OpenSSL herunter, baue und installiere es. Achte darauf,
install_swzu verwenden und nichtinstall. 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
Baue Python mit dem eigenen OpenSSL (siehe die configure-Optionen
--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
Bemerkung
Patch-Veröffentlichungen von OpenSSL haben ein abwärtsverträgliches ABI. Du musst Python nicht neu kompilieren, um OpenSSL zu aktualisieren. Es genügt, die eigene OpenSSL-Installation durch eine neuere Fassung zu ersetzen.