Python-3.12.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 12.1 platform.

[Important]

Important

Si vous mettez à jour vers une nouvelle version mineure de Python-3 (par exemple, de Python-3.11.x à Python-3.12.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.78.1, libxml2-2.12.5, opencv-4.9.0, Graphviz-10.0.1 (si swig est installé).

Avant de mettre à jour, vous pouvez récupérer une liste des modules installés avec pip3 list. La liste peut être incomplète car certains modules Python ne sont pas installés avec pip3, comme par exemple le module cracklib installé par CrackLib-2.9.11. Utilisez ls /usr/lib/python3.minor/site-packages pour une liste complète.

Les modules Python de LFS devront également être réinstallés : flit-core, wheel, setuptools, meson, MarkupSafe et Jinja2.

Informations sur le paquet

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

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : e7c178b97bf8f7ccd677b94d614f7b3c

  • Taille du téléchargement : 20 Mo

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

  • Estimation du temps de construction : 2,5 SBU (plus 0,7 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.72, GDB-14.1 (requis pour certains tests), Valgrind-3.22.0 et libmpdec

Facultatives (pour les modules supplémentaires)

libnsl-2.0.1, Tk-8.6.13 et Berkeley DB (deprecated)

Notes des auteurs : 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  \
            --enable-optimizations &&
make

Pour tester le résultat, exécutez LC_ALL=en_US.UTF-8 make test. Certains tests peuvent nécessiter une connexion internet. Deux tests nommés test_xml_etree et test_xml_etree_c sont connus pour échouer avec expat-2.6.0 ou supérieur.

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.12.2/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.12.2/html \
    -xvf ../python-3.12.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-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.12/config-3.12-<arch>-linux-gnu/libpython3.12.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.12.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.12, idle3 (lien symbolique) et idle3.12, pip3 et pip3.12, pydoc3 (lien symbolique) et pydoc3.12, python3 (lien symbolique) et python3.12 et python3-config (lien symbolique) et python3.12-config
Bibliothèques installées: libpython3.12.so et libpython3.so
Répertoires installés: /usr/include/python3.12, /usr/lib/python3.12 et /usr/share/doc/python-3.12.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.12

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