Python-3.11.2

Introduction à Python 3

Le paquet Python 3 contient l'environnement de développement Python. C'est utile pour la programmation orientée objet, l'écriture de scripts, le prototypage de gros programmes ou le développement d'applications entières.

[Note]

Note

Python 3 a été installé dans LFS. La seule raison pour le reconstruire ici est la nécessité d'avoir des modules facultatifs ou pour mettre à jour ce paquet.

This package is known to build and work properly using an LFS 11.3 platform.

[Important]

Important

Si vous mettez à jour vers une nouvelle version mineure de Python-3 (par exemple, de Python-3.10.x à Python-3.11.0), vous devrez réinstaller tous les modules Python3 que vous avez installé. Vous devriez également réinstaller les paquets qui génèrent des modules Python3, dont gobject-introspection-1.74.0, opencv-4.7.0, Graphviz-7.1.0 (si swig est installé).

Avant la mise à jour, vous pouvez récupérer la liste complète des modules installés avec pip3 list.

Le module wheel et meson de LFS devront également être réinstallés : https://fr.linuxfromscratch.org/view/lfs-stable/chapter08/wheel.html et https://fr.linuxfromscratch.org/view/lfs-stable/chapter08/meson.html

Sur les systèmes systemd, il est également nécessaire de réinstaller les modules MarkupSafe et Jinja2 de LFS : https://fr.linuxfromscratch.org/view/lfs-systemd-stable/chapter08/markupsafe.html et https://fr.linuxfromscratch.org/view/lfs-systemd-stable/chapter08/jinja2.html.

Informations sur le paquet

  • Téléchargement (HTTP) : https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : a957cffb58a89303b62124896881950b

  • Taille du téléchargement : 19 Mo

  • Estimation de l'espace disque requis : 283 Mo (plus 897 Mo pour les tests)

  • Estimation du temps de construction : 2,2 SBU (plus 3,4 SBU pour les tests, tous deux avec parallélisme = 4)

Téléchargement facultatif supplémentaire

Dépendances de Python 3

Recommandées

Facultatives

BlueZ-5.66, GDB-13.1 (requis pour certains tests), Valgrind-3.20.0 et libmpdec

Facultatives (pour les modules supplémentaires)

Berkeley DB-5.3.28, libnsl-2.0.0 et Tk-8.6.13

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/Python3

Installation de Python 3

Installez Python 3 en exécutant les commandes suivantes :

CXX="/usr/bin/g++"               \
./configure --prefix=/usr        \
            --enable-shared      \
            --with-system-expat  \
            --with-system-ffi    \
            --enable-optimizations &&
make

Pour tester le résultat, exécutez make test. Certains tests peuvent nécessiter une connexion internet. Deux tests, test_distutils et test_embed, sont connus pour échouer.

Maintenant, en tant qu'utilisateur root :

make install

Si vous mettez à jour et que la documentation a été téléchargée, installez-la éventuellement en tant qu'utilisateur root :

install -v -dm755 /usr/share/doc/python-3.11.2/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.11.2/html \
    -xvf ../python-3.11.2-docs-html.tar.bz2

Explication des commandes

CXX="/usr/bin/g++" ./configure ... : empêche un message embêtant pendant la configuration.

--with-system-expat : Ce paramètre active le lien contra la version du système de Expat.

--with-system-ffi : ce paramètre active la liaison avec la version du système de libffi.

--with-dbmliborder=bdb:gdbm:ndbm : utilisez ce paramètre si vous voulez lier le module Python DBM à Berkeley DB au lieu de GDBM.

--enable-optimizations : ce paramètre active les optimisations stables mais coûteuses.

--with-lto : ce paramètre facultatif active l'optimisation à l'édition des liens. De manière inhabituelle, cela crée un fichier /usr/lib/python3.11/config-3.11-<arch>-linux-gnu/libpython3.11.a bien plus grand et une légère augmentation du temps de compilation de Python. Les résultats à l'exécution n'ont pas l'air d'être plus rapides avec cela.

Configuration de Python 3

Pour que python3 trouve la documentation installée, vous devez ajouter la variable d'environnement suivante au profil individuel de l'utilisateur ou du système :

ln -svfn python-3.11.2 /usr/share/doc/python-3

et ajoutez la variable d'environnement suivante au profil individuel de l'utilisateur ou du système :

export PYTHONDOCS=/usr/share/doc/python-3/html

Contenu

Programmes installés: 2to3 (lien symbolique) et 2to3-3.11, idle3 (lien symbolique) et idle3.11, pip3 (lien symbolique) et pip3.11, pydoc3 et pydoc3.11, python3 (lien symbolique); python3.11 et python3-config (lien symbolique) et python3.11-config
Bibliothèques installées: libpython3.11.so et libpython3.so
Répertoires installés: /usr/include/python3.11, /usr/lib/python3.11 et /usr/share/doc/python-3.11.2

Descriptions courtes

idle3

est un script enveloppe qui ouvre un éditeur graphique Python. Pour que ce script fonctionne, vous devez avoir installé Tk avant Python pour que le module Python de Tkinter soit construit

pydoc3

est l'outil de documentation de Python

python3

est un langage de programmation interprété, interactif et orienté objet

python3.11

est le nom spécifique à la version du programme python