2. Använda Python på Unix-plattformar¶
2.1. Hämta och installera den senaste versionen av Python¶
2.1.1. På Linux¶
Python är förinstallerat på de flesta Linux-distributioner och finns som ett paket på alla andra. Det finns dock vissa funktioner som du kanske vill använda som inte finns tillgängliga i ditt distro-paket. Du kan kompilera den senaste versionen av Python från källan.
Om den senaste versionen av Python inte är förinstallerad och inte heller finns i arkiven kan du skapa paket för din egen distro. Ta en titt på följande länkar:
Se även
- https://www.debian.org/doc/manuals/maint-guide/first.en.html
för Debian-användare
- https://en.opensuse.org/Portal:Packaging
för OpenSuse-användare
- https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/
för Fedora-användare
- https://slackbook.org/html/package-management-making-packages.html
för Slackware-användare
2.1.1.1. Installera IDLE¶
I vissa fall kanske IDLE inte ingår i din Python-installation.
För Debian- och Ubuntu-användare:
sudo apt uppdatering sudo apt installera idle
För Fedora-, RHEL- och CentOS-användare:
sudo dnf installera python3-idle
För SUSE- och OpenSUSE-användare:
sudo zypper installera python3-idle
För Alpine Linux-användare:
sudo apk lägg till python3-idle
2.1.2. På FreeBSD och OpenBSD¶
FreeBSD-användare, för att lägga till paketet använd:
pkg installera python3
OpenBSD-användare, för att lägga till paketet använd:
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
Till exempel får i386-användare 2.5.1-versionen av Python med hjälp av:
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.2. Att bygga Python¶
Om du vill kompilera CPython själv är det första du bör göra att hämta källan. Du kan ladda ner antingen den senaste versionens källa eller bara ta en ny klon. (Om du vill bidra med patchar behöver du en klon)
Byggprocessen består av de vanliga kommandona:
./konfigurera
make
make installera
Konfigurationsalternativ och varningar för specifika Unix-plattformar finns utförligt dokumenterade i README.rst-filen i roten av Pythons källträd.
Varning
make install
kan skriva över eller maskera python3
-binärfilen. make altinstall
rekommenderas därför istället för make install
eftersom den bara installerar exec_prefix/bin/pythonversion
.
2.4. Diverse¶
För att enkelt kunna använda Python-skript på Unix måste du göra dem körbara, t.ex. med
$ chmod +x skript
och lägg till en lämplig Shebang-rad i början av skriptet. Ett bra val är vanligtvis
#!/usr/bin/env python3
som söker efter Python-tolken i hela PATH
. Vissa enheter kanske dock inte har kommandot env, så du kan behöva hårdkoda /usr/bin/python3
som sökväg till tolken.
Om du vill använda shell-kommandon i dina Python-skript kan du titta på modulen subprocess
.
2.5. Anpassad OpenSSL¶
För att använda din leverantörs OpenSSL-konfiguration och systemförtroendelager, lokalisera katalogen med filen
openssl.cnf
eller symlänk i/etc
. På de flesta distributioner finns filen antingen i/etc/ssl
eller/etc/pki/tls
. Katalogen bör också innehålla encert.pem
-fil och/eller encerts
-katalog.$ hitta /etc/ -namn openssl.cnf -printf "%h\n" /etc/ssl
Ladda ner, bygg och installera OpenSSL. Se till att du använder
install_sw
och inteinstall
. Måletinstall_sw
åsidosätter inteopenssl.cnf
.$ 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
Bygg Python med anpassad OpenSSL (se alternativen configure
--with-openssl
och--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
Anteckning
Patchversioner av OpenSSL har ett bakåtkompatibelt ABI. Du behöver inte kompilera om Python för att uppdatera OpenSSL. Det räcker med att ersätta den anpassade OpenSSL-installationen med en nyare version.