2. Utilisation de Python sur les plateformes Unix¶
2.1. Récupérer et installer la dernière version de Python¶
2.1.1. Sur Linux¶
Python comes preinstalled on most Linux distributions, and is available as a package on all others. However there are certain features you might want to use that are not available on your distro's package. You can compile the latest version of Python from source.
In the event that the latest version of Python doesn't come preinstalled and isn't in the repositories as well, you can make packages for your own distro. Have a look at the following links:
Voir aussi
- https://www.debian.org/doc/manuals/maint-guide/first.fr.html
pour les utilisateurs de Debian
- https://en.opensuse.org/Portal:Packaging
pour les utilisateurs d'OpenSuse
- https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/
pour les utilisateurs de Fedora
- https://slackbook.org/html/package-management-making-packages.html
pour les utilisateurs de Slackware
2.1.2. Sur FreeBSD et OpenBSD¶
Utilisateurs de FreeBSD, pour installer le paquet, utilisez :
pkg install python3
Utilisateurs d'OpenBSD, pour installer le paquet, utilisez :
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
Par exemple les utilisateurs d'
i386
récupèrent la version 2.5.1 de Python en faisant :pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.2. Compiler Python¶
Si vous voulez compiler CPython vous-même, la première chose à faire est de récupérer le code source. Vous pouvez télécharger la dernière version ou faire un clone. (Si vous voulez contribuer à des correctifs, il vous faut un clone.)
La compilation s'effectue avec les commandes habituelles :
./configure
make
make install
Les options de configuration et mises en garde pour certaines plateformes Unix spécifiques sont largement documentées dans le fichier README.rst à la racine du dossier des sources Python.
Avertissement
make install
peut écraser ou cacher le binaire python3
. make altinstall
est donc recommandé à la place de make install
puisqu'il installe seulement exec_prefix/bin/pythonversion
.
2.4. Divers¶
Pour utiliser facilement des scripts Python sur Unix, vous devez les rendre exécutables, par exemple avec
$ chmod +x script
et mettre un shebang approprié en haut du script. Un bon choix est généralement
#!/usr/bin/env python3
qui cherche l’interpréteur Python dans le PATH
complet. Cependant, certains systèmes Unix peuvent ne pas avoir la commande env, donc vous devrez littéralement écrire /usr/bin/python3
en tant que chemin d’interpréteur.
Pour utiliser des commandes shell dans vos scripts Python, regardez le module subprocess
.
2.5. Version personnalisée d'OpenSSL¶
Pour compiler avec votre propre configuration d'OpenSSL et le magasin des certificats de confiance du système, commencez par trouver le sous-dossier de
/etc
qui contient le fichier ou le lien symboliqueopenssl.cnf
. Sur la plupart des distributions, c'est soit/etc/ssl
, soit/etc/pki/tls
. Ce dossier doit également contenir un fichiercert.pem
ou un sous-dossiercerts
(ou les deux).$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Téléchargez et compilez OpenSSL. Installez-le, en prenant bien garde de le faire avec la cible
install_sw
et non pasinstall
. En effet,install
réécrirait le fichieropenssl.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
Ensuite, compilez Python avec votre version d'OpenSSL personnalisée (voir les options
--with-openssl
et--with-openssl-rpath
du scriptconfigure
).$ 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
Note
Les versions d'OpenSSL dans une même série (incrémentation du troisième chiffre) conservent la compatibilité de l'interface binaire. Pour mettre à jour OpenSSL, il n'y a pas besoin de recompiler Python, il suffit de remplacer l'installation d'OpenSSL avec la nouvelle version.