Le paquet Python 3 contient l'environnement de développement
Python. Il est utile pour programmer en orienté-objet, écrire des
scripts, prototyper de plus grands programmes ou pour développer
des applications complètes.
Temps de construction
approximatif: 3.4 SBU
Espace disque requis:
283 Mo
8.50.1. Installation de Python 3
Préparez la compilation de Python :
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--enable-optimizations
Voici la signification des options de
configuration :
-
--with-system-expat
-
Ce paramètre active la liaison avec la version du système de
Expat.
-
--with-system-ffi
-
Ce paramètre active la liaison avec la version du système de
libffi.
-
--enable-optimizations
-
Ce paramètre active les optimisations stables, mais
coûteuses.
Compilez le paquet :
make
Lancer les tests n'est pour l'instant pas recommandé. Les tests
sont connus pour bloquer indéfiniment dans l'environnement partiel
de LFS. Si vous le souhaitez, vous pouvez relancer les tests à la
fin de ce chapitre ou quand vous réinstallerez Python 3 dans BLFS.
Pour tout de même lancer les tests, lancez make test.
Installez le paquet :
make install
À plusieurs endroits on utilise la commande pip3 pour installer des
programmes et des modules Python 3 pour tous les utilisateurs et
utilisatrices en tant que root
.
Cela entre en conflit avec la recommandation des développeurs
Python d'installer les paquets dans un environnement virtuel ou le
répertoire personnel des utilisateurs et utilisatrices (en
exécutant pip3 en
tant que cet utilisateur ou cette utilisatrice). À cause de cela,
un avertissement sur plusieurs lignes est affiché lorsque vous
utilisez pip3 en tant
qu'utilisateur root
. La raison
principale de cette recommandation est d'éviter un conflit avec le
gestionnaire de paquets du système (dpkg par exemple), mais LFS n'a
pas de gestionnaire de paquets système donc ce n'est pas un
problème. En plus, pip3 essaiera de vérifier les
nouvelles versions de lui-même s'il est lancé. Comme la résolution
des noms de domaine n'est pas encore configurée dans
l'environnement chroot de LFS, il n'arrivera pas à vérifier si une
nouvelle version existe et produira un avertissement. Une fois
démarré sur le système LFS et la connexion réseau paramétrée, il
produira un avertissement demandant à l'utilisateur ou
l'utilisatrice de le mettre à jour à partir d'un weel préconstruit
sur PyPI si une nouvelle version est disponible. Mais LFS considère
pip3 comme faisant
partie de Python 3, donc il ne devrait pas être mis à jour
séparément et une mise à jour à partir d'un wheel préconstruit
dévierait du but qui est de construire un système Linux à partir du
code source. Donc l'avertissement concernant une nouvelle version
de pip3 devrait aussi
être ignoré. Si vous le souhaitez, supprimez ces avertissements en
exécutant la commande suivante :
cat > /etc/pip.conf << EOF
[global]
root-user-action = ignore
disable-pip-version-check = true
EOF
Important
Dans LFS et BLFS nous construisons et installons normalement les
modules Python avec la commande pip3. Remarquez bien que les
commandes pip3
install dans les deux livres doivent être lancées
en root
à moins qu'il s'agisse
d'un environnement virtuel Python. Exécuter pip3 install en tant
qu'utilisateur ou utilisatrice non root
peut sembler fonctionner, mais cela
rendra les modules installés indisponibles pour les autres.
pip3 install ne
réinstallera pas les modules déjà installés par défaut. Pour
utiliser la commande pip3
install pour mettre à jour un module (par
exemple, de meson-0.61.3 vers meson-0.62.0), ajoutez l'option
--upgrade
à la ligne de
commande. S'il est vraiment nécessaire de revenir à une version
précédente d'un module ou de réinstaller la même version, ajoutez
l'option --force-reinstall
--no-deps
à la ligne de commande.
Si vous le souhaitez, installez la documentation préformatée :
install -v -dm755 /usr/share/doc/python-3.11.0/html
tar --strip-components=1 \
--no-same-owner \
--no-same-permissions \
-C /usr/share/doc/python-3.11.0/html \
-xvf ../python-3.11.0-docs-html.tar.bz2
Voici la signification des commandes d'installation de la
documentation :
-
--no-same-owner
et --no-same-permissions
-
S'assure que les fichiers installés ont la bonne appartenance
et les bonnes permissions. Sans ces options, utiliser
tar installera les fichiers
du paquet avec les valeurs du créateur en amont.