Bonjour toutes et tous.
J’ai une question simple, il existe une immense bibliothèque utilisée lors de la programmation en Python. Pourquoi n’est il pas possible de faire un téléchargement global sur chaque PC de cette bibliothèque, je sais qu’il y a eu il y a quelques temps un piratage sofistiqué de certains éléments… Cela aurait peut être permis de limiter les dégâts. C’est peut être idiot ce que je dis.
Bonjour,
non ce n’est pas idiot. Mais le principe veut qu’on ne mette sur une machine que ce qui est réellement utile.
Ce qui évite d’avoir des failles associées au passage.
et aussi, c’est du stockage utilisé inutilement.
même si ce n,'est pas énorme, mais si on considère cela pour le python, pourquoi pas pour tous les autres langage?
@1raymondchapuis. Votre question est très pertinente. Il y a une autre raison fort simple et plus importante car la raison essentielle de ne pas télécharger toutes les bibliothèques réside dans le fait que certaines ne sont tout simplement pas compatibles entres-elles.
Pour pallier en très grande partie les éventuels problèmes de versions et de compatibilité de Python et de ses bibliothèques, il est fortement recommandé de travailler dans un environnement virtuel Python. Dans cet environnement virtuel on ne charge que ce que l’on a besoin limitant ainsi les risques de problèmes de dépendances et d’incompatibilités.
Création d’un environnement virtuel Python baptisé test s’appuyant sur la version courante de Python:
Python -m venv test
Création d’un environnement virtuel Python baptisé my_env_python2 s’appuyant sur la version 2 de Python:
Python2 -m venv my_env_python2
Activation de l’environnement virtuel Python test:
cd test
source ./bin/activate
Après l’activation, remarquez le prompt qui fait usage de parenthèses pour indiquer le nom de l’environnement virtuel.
Désactivation de l’environnement virtuel Python:
deactivate
Installation d’un module dans un environnement virtuel.
pip install nom_du_module
Attention: une erreur de débutant consiste à passer sur un autre terminal en oubliant d’activer pour ce nouveau terminal l’environnement virtuel.