Python-3.12.5
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
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.
Ce paquet est connu pour pouvoir être construit et fonctionner
correctement avec une plateform 12.2.
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 GLib-2.80.4 (avec GObject
Introspection), libxml2-2.13.3, opencv-4.10.0, FontForge-20230101, gnome-tweaks-46.1,Samba-4.20.4 et
Graphviz-12.1.0 (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.10.2. 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.5/Python-3.12.5.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
02c7d269e077f4034963bba6befdc715
-
Taille du téléchargement : 19 Mo
-
Estimation de l'espace disque requis : 335 Mo (plus
59 Mo pour les tests)
-
Estimation du temps de construction : 1,6 SBU (plus
0,6 SBU pour les tests, tous deux avec parallélisme = 4)
Téléchargement facultatif supplémentaire
Dépendances de Python 3
Recommandées
SQLite-3.46.1 (requis si vous construisez
firefox ou thunderbird)
Facultatives
BlueZ-5.77, GDB-15.1 (requis pour certains tests), Valgrind-3.23.0 et libmpdec
Facultatives (pour les modules supplémentaires)
libnsl-2.0.1, Tk-8.6.14 et Berkeley
DB (obsolète)
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
Certains tests sont connus pour parfois freezer. Donc pour tester
les résultats, exécutez la suite de tests mais indiquez une limite
de 2 minutes pour chaque cas de test :
make test TESTOPTS="--timeout 120"
Pour un système assez lent vous devrez peut-être augmenter la
limite à 1 SBU (mesuré lors de la construction de Binutils
passe 1 avec un cœur de CPU). Certains tests sont peu fiables, donc
la suite de test relancera automatiquement les tests en échec. Si
un test échoue mais passe après avoir été relancé, vous pouvez
considérer qu'il a réussit.
Sur plus de 42 000 tests, les suivants sont connus pour
échouer : test__xxsubinterpreters, test_import,
test_interpreters et test_threading.
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.5/html
tar --strip-components=1 \
--no-same-owner \
--no-same-permissions \
-C /usr/share/doc/python-3.12.5/html \
-xvf ../python-3.12.5-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.
--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.5 /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.5
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
|