Accès rapide :
La vidéo
Qu'est-ce qu'un d'environnement virtuel ?
Environnement virtuel en mode ligne de commande
Création d'un environnement virtuel
Installation de PySide dans l'environnement virtuel
Obtenir la liste des librairies installées dans l'environnement virtuel
Environnement virtuel avec PyCharm
Création d'un environnement virtuel
Installation de PySide dans l'environnement virtuel
Obtenir la liste des librairies installées dans l'environnement virtuel
PySide6, c'est aussi des outils
Cette vidéo vous montre comment installer Qt (la librairie graphique) et PySide (le binding Python pour Qt). La notion de d'environnement virtuel (venv) y est aussi présentée.
Vous pourriez déployer PySide6 directement dans votre environnement Python (on va l'appeler environnement physique en opposition aux environnements virtuels)
en exécutant la commande pip install PySide6
. Mais je ne vous le recommande pas. Pourquoi cela ?
Premièrement, il se peut que vous ne soyez pas administrateur de la machine sur laquelle vous travaillez. Dans ce cas, une installation sur votre environnement Python physique pourra ne pas être possible en fonction des droits nécessaires.
Ensuite, il se peut que vous ayez plusieurs développements Python qui n'utilisent pas tous les mêmes versions de telle ou telle librairie. C'est notamment mon cas : je développe des applications pour divers clients avec des contraintes particulières sur les versions, imposées par ces clients. Si vous n'avez que votre environnement physique, vous serez obligé d'installer la version la plus récente, avec le risque que sur un développement censé utiliser une version antérieure vous invoquiez des méthodes normalement inexistantes pour cette version.
Enfin, toujours dans le cas l'on gère plusieurs développements distincts, comment savoir très exactement ce qu'utilise un projet donné, si toutes les librairies de tous les projets confondus sont installées au même endroit ? Si vous devez fournir une telle liste de librairie, à coup sûr, vous commettrez des erreurs.
Le fait d'utiliser un environnement virtuel pour chaque projet réglera tous ces problèmes en cloisonnant chaque projet dans un dossier bien précis et avec ses propres librairies (je pars du principe que les dossiers utilisés pour chacun des projets, sont bien accessible et termes de droits d'accès).
Pour créer un environnement virtuel, je vais vous proposer deux solutions : soit en mode ligne de commande, soit via PyCharm. Nous allons étudier chacune de ses deux possibilités cas en détails.
Commençons par étudier la possibilité de créer l'environnement virtuel en ligne de commande.
Commencez à créer un dossier relatif à votre projet sur votre disque dur : appelez-le, par exemple, TutoPySide6
.
Ouvrez une console et placez-vous dans ce dossier. Une fois dans ce dossier, lancez la commande suivante.
~/TutoPySide6 $> python -m venv venv
PATH
. Si ce n'est pas le cas, veuillez rajouter, en tête,
le chemin d'accès à Python.
Cette ligne de commande démarrage le module standard « venv » proposé par Python, et ce grâce à l'option -m
(pour module).
Ce module qui va créer votre environnement virtuel. Un environnement virtuel doit avoir un nom : je l'ai appelé venv
,
comme cela est très souvent le cas.
Arrivé à ce stade, si vous tentez d'installer une librairie quelconque, vous le ferez encore dans l'environnement physique. Effectivement, il nous manque une étape importante : l'activation de l'environnement virtuel. Cette étape est conditionnée au système d'exploitation que vous utilisez.
Voici comment activer l'environnement virtuel sur un système d'exploitation Unix/Linux ou dérivé (y compris MacOS).
Notez, une fois la commande exécutée, l'apparition du préfixe (venv)
(le nom de l'environnement virtuel) devant le prompt de votre console.
Si vous le visualisez bien sur votre console, félicitations, vous avez activé l'environnement virtuel.
~/TutoPySide6 $> . venv/bin/activate (venv) ~/TutoPySide6 $> ls venv (venv) ~/TutoPySide6 $>
.
et l'espace devant le dossier venv
sont super importants et si vous les oubliez, vous n'aurez pas activé l'environnement virtuel.
Le .
permet de ne pas démarrer de sous-shell et d'exécuter le script dans le shell courant.
Et voici comment faire sous Windows. Même remarque : si tout se passe bien vous devriez voir le préfixe (venv)
affiché au début du prompt.
Notez que le sous-dossier bin
est replacé par un sous-dossier Scripts
.
C:\Users\dominique\TutoPySide6> venv\Scripts\activate.bat (venv) C:\Users\dominique\TutoPySide6>dir /W Le volume dans le lecteur C n'a pas de nom. Le numéro de série du volume est A42F-1111 Répertoire de C:\Users\dominique\TutoPySide6 [.] [..] [venv] 0 fichier(s) 0 octets 3 Rép(s) 9 794 834 432 octets libres (venv) C:\Users\dominique\TutoPySide6>
venv\Scripts\Activate.ps1
.
Une autre solution consiste à saisir immediatement cmd
pour revenir le terminal historique, puis à exécuter venv\Scripts\activate.bat
.
Quel que soit le système d'exploitation utilisé, si vous fermez votre terminal et que vous en relancez un nouveau, il faudra impérativement penser à réactiver l'environnement virtuel !!!
Maintenant que l'environnement virtuel est activé, on peut y installer la librairie PySide6
en invoquant l'outil pip
(Python Install Package). Voici comment procéder.
(venv) ~/TutoPySide6> pip install PySide6 Collecting PySide6 Using cached PySide6-6.2.4-6.2.4-cp36.cp37.cp38.cp39.cp310-abi3-manylinux1_x86_64.whl (268.2 MB) Collecting shiboken6==6.2.4 Using cached shiboken6-6.2.4-6.2.4-cp36.cp37.cp38.cp39.cp310-abi3-manylinux1_x86_64.whl (1.0 MB) Installing collected packages: shiboken6, PySide6 Successfully installed PySide6-6.2.4 shiboken6-6.2.4 (venv) ~/TutoPySide6>
PySide6
à une dépendance sur la librairie shiboken6
.
L'outil pip gère récursivement les dépendances, ce qui est très bien !
Les nouvelles librairies sont installées dans l'environnement virtuel sous le dossier lib
.
Voici une commande Linux affichant la structure de dossiers du venv
(avec une limite de profondeur à 5).
(venv) ~/TutoPySide6> tree -d -L 5 . └── venv ├── bin ├── include ├── lib │ └── python3.10 │ └── site─packages │ ├── _distutils_hack │ ├── pip │ ├── pip-21.2.3.dist-info │ ├── pkg_resources │ ├── PySide6 │ ├── PySide6-6.2.4.dist-info │ ├── setuptools │ ├── setuptools-57.4.0.dist-info │ ├── shiboken6 │ └── shiboken6-6.2.4.dist-info └── lib64 -> lib 17 directories (venv) ~/TutoPySide6>
Si dans plusieurs mois, vous souhaitez retrouver toutes les dépendances utilisées par ce projet, vous pourrez exécuter la commande suivante.
(venv) ~/TutoPySide6> pip freeze PySide6==6.2.4 shiboken6==6.2.4 (venv) ~/TutoPySide6>
Vous pouvez sauvegarder ces dépendances dans un fichier qualifié de « requirements ».
(venv) ~/TutoPySide6> pip freeze > reqs.txt
Si vous communiquez ce fichier à une autre personne, il pourra reconstruire un environnement virtuel à l'identique de vous.
~/TutoPySide6Bis $> python -m venv venv ~/TutoPySide6Bis $> . venv/bin/activate (venv) ~/TutoPySide6Bis> pip install -r reqs.txt Collecting PySide6 Using cached PySide6-6.2.4-6.2.4-cp36.cp37.cp38.cp39.cp310-abi3-manylinux1_x86_64.whl (268.2 MB) Collecting shiboken6==6.2.4 Using cached shiboken6-6.2.4-6.2.4-cp36.cp37.cp38.cp39.cp310-abi3-manylinux1_x86_64.whl (1.0 MB) Installing collected packages: shiboken6, PySide6 Successfully installed PySide6-6.2.4 shiboken6-6.2.4 (venv) ~/TutoPySide6Bis> pip freeze PySide6==6.2.4 shiboken6==6.2.4 (venv) ~/TutoPySide6Bis $>
Si vous êtes pas fan de la ligne de commande, sachez que PyCharm préconise, par défaut, l'utilisation des environnements virtuels et il prend en charge l'exécution d'un bon nombre de lignes de commandes.
Avec PyCharm, vous pouvez créer un environnement virtuel lors de la création d'un projet. C'est le choix proposé par défaut : ne changez rien à ce niveau. Prenez juste soin de vérifier la version de Python servant à la création du venv. C'est cette version qui sera utilisée pour la suite du projet.
Quelques secondes s'écoulent avant que vous récupériez la main. Rien de grave, c'est le temps nécessaire à la construction de l'environnement virtuel.
Je vois au moins deux solutions, pour installer PySide6 dans un environnement virtuel gérer par PyCharm. La première solution est de vous placer dans un terminal PyCharm. Pour cela cliquez sur l'onglet « Terminal » situé en bas de la fenêtre de PyCharm. Il est important de noter que l'activation de l'environnement virtuel y est automatique : on voit le nom de l'environnement entre parenthèses en début de prompt dans le terminal. Vous n'avez donc rien n'a faire sur ce point :-).
Il ne reste plus à exécuter la commande pip install PySide
. En gros, c'est la même façon de faire que précédemment mais au travers d'un terminal
PyCharm.
La seconde technique consiste à utiliser les assistants graphiques de PyCharm. Pour ce faire, ouvrez le menu « File » (dans la barre de menu, bien sûr) puis sélectionnez-y « Settings ». La boîte de dialogue de configuration d'IDE doit apparaître. Sélectionnez alors la section « Project / Python Interpreter » dans le panneau de gauche, comme le montre la capture d'écran suivante.
En cliquant sur le bouton « + » vous pourrez ajouter une librairie à votre environnement virtuel. Saisissez le nom de la librairie à installer puis cliquez sur le bouton « Install Package », comme le montre cette nouvelle capture d'écran.
Une fois la librairie installée, vous pouvez retrouver, sur le même écran, l'ensemble des éléments installés dans votre environnement virtuel.
Vous noterez qu'au terme de l'installation, des exécutables ont aussi été rajoutés à votre environnement virtuel. Ce sont des outils (souvent graphiques) qui vous assisteront dans le développement de vos interfaces graphiques. Voici une capture d'écran les montrant.
venv\Scripts
.
J'attire particulièrement votre attention sur l'outil pyside6-designer
(aussi appelé le Qt Designer) qui permettra de concevoir vos
interfaces graphiquement en mode « WYSIWYG » (What You See Is What You Get). Nous étudierons cet outil dans un futur chapitre.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :