Non classé

Installer PySide2 dans Blender

INSTALLER PYSIDE2/PYQT5

Introduction

Si il est possible de créer des interface directement dans blender,il est aussi posible d’utiliser PySide 2 ou PyQt5. Cela permet de faire des interfaces complexes.

 

Préalable : avoir une version de blender installée. Ce tutoriel à été fait sous Windows 10, je n’ai aucune idée de comment ça se passe sur Mac.

Ce tutoriel, décrit comment:

  • Installer la (bonne version) de Python
  • Installer pip
  • Installer pyside 2 avec pip
  • Tester pyside2

Merci à la communauté de Blenderlounge pour l’aide sur PySide2 et Blender et tout particulièrement à PistiWique

Quelques définitions

  1. Python est un langage de programmation “interprété”, utilisé par blender (et bien d’autres logiciels), c’est un langage qui ne nécessite pas d’être compilé pour fonctionner. C’est un peu comme le javascript pour le web. Une ligne de lecture suit nos indications lignes par lignes et les exécute au fur et à mesure. C’est un langage qui sur Blender nous permet de faire des scripts pour créer des outils, faire des opérations 3D, automatiser des tâches. Au-delà de Blender, Python est un langage qui permet de faire des site web, de l’ia, des data-sciences. c’est un langage courant dans les études universitaire.
  2. Pip est un gestionnaire de paquets, c’est utilisé pour gérer et installer des “paquets”(package,modules, bibliothèque) son acronyme viens de“Pip Installs Packages” ici on peut trouver des milliers de package a importer via pip dans nos projets https://pypi.org/ par exemple, on peut ajouter un package “scipy” qui est un module qui nous aidera à faire des math de la science ou de l’ingénierie. Dans notre cas nous auront besoin de PySide2
  3. PySide2 est un “binding” qui permet de lier la bibliothèque c++ Qt à python. C’est à dire que nous pourrons utiliser les composant c++ de qt pour faire des interfaces, mais via du python.
  4. QT est une api qui offre des composant d’interface graphique et bien plus. On peut retrouver QT dans des applications tel que Maya, 3dSmax et même Substance designer. Cela va nous aider à créer nos propres interfaces sur Blender.
  5. La grande différence entre PySide2 et PyQT5 sont des licences différentes :
  • PyQt5 est en licence GNU qui est méritocratique et plus fermée.
  • PySide2 LGPL free as freedom. que nous allons voir dans ce tuto. Pour plus détails vous pouvez lire une petite analyse ici

Voilà les présentations faites. Maintenant allons-y pour mettre en place tout ça sur Blender.

1- Installer python

Tout d’abord, pour pouvoir utiliser PySide2 ou PyQt5 dans Blender il faut déjà avoir la bonne version de python installée sur son ordinateur.

Pour ceux qui ont un peu d’avance.

Si vous avez installé: Python, pip et PySide2 mais que vous avez cette erreur, à l’import de ce dernier. ImportError: DLL load failed: %1 is not a valid Win32 application c’est très certainement que votre version de python n’est pas la bonne.

c’est très certainement que votre version de python n’est pas la bonne.

Quelle version de Python pour Blender ?

Dans votre Blender, la version de python utilisé est affiché dans l’onglet d’editor type console.

Chaque version de python utilisé par Blender est affichée ici. Dans le cas présent, sur la version Blender 2.80 c’est la version 3.7 de python qui est utilisé.

Telecharger Python

Armé de cette information, il faut maintenant ouvrir votre navigateur internet préféré et aller à cette adresse : https://www.python.org

Après avoir cliqué sur le bouton Download on peut voir plusieur versions de python. Et

en scrollant un peu on peut retrouver la bonne version. “la 3.7” cliquez sur download

Si vous ne la voyez pas, tentez d’aller dans view older release.

En bas de page, vous trouverez plusieurs fichier pour l’installer. Pour Windows/Mac.

Dans mon cas, comme je suis sur windows, je vais télécharger le “Windows x86-64 exécutable installer “

une fois Le fichier téléchargé ouvrez le et installez le.

Ajoutez Python 3.7 a votre path, et si vous le désirez, installez le pour tous les utilisateurs.

Si votre version de python dans n’est pas là même que celle de Blender par défaut, cela peut créer des problèmes

Après un petit moment voilà python 3.7 qui est installé.

C’est bon on peut passer à la suite

2- Implémenter PIP

Pour installer pip dans votre Blender, rendez-vous dans votre dossier où est installé Blender. Pour moi c’est ici: E:\Program Files\Blender Foundation\Blender

Maintenant on va aller chercher le système python utilisé par notre Blender. Allez dans le dossier 2.80 > python > bin

Vous y voilà. C’est ici que la console python de Blender est utilisé par ce dernier. Maintenant nous allons ouvrir notre commande windows pour y installer pip. Pour celà il suffit de taper cmd dans votre barre de recherche de dossier, et appuyez sur entrée.

surprise vous voilà dans votre console windows avec le chemin déjà bien entré.

Rentrez maintenant la commande “ python -m ensurepip

(ensurepip est un package présent dans blender qui permet d’installer pip)

après un petit chargement, voilà pip est installé

pour tester ça, vous pouvez taper la commande “ python -m pip “. Des indications d’aide devraient apparaître dans votre console.

3- Installer PySide2/PyQT5

Toujours dans votre console de commande, tapez maintenant

“ python -m install PySide2 “

Après un petit téléchargement et quelques lignes de commandes plus tard Voilà PySide2 installé

Pour installer PyQT5 ou n’importe quel autre package pip c’est la même commande
python -m pip install votremodule

dans notre cas

python -m pip install PyQT5

vous voilà avec python, pip, PySide2, PyQT5 utilisable pour votre blender !

4- Tester PySide2

On va maintenant vérifier que tout marche bien.
Pour bien débuger , on va se servir de la system console.

Et du text editor

Maintenant on va tout simplement ecrire dans le text editor :

import PySide2

et faire ctrl + p

ou exécuter avec un clique droit.

Si tout marche vous n’aurez aucun retour.

En contrepartie si il y’a des erreures vous aurez des messages

Attention à l’orthographe c’est PySide2 non pas Pyside2, sinon votre blender ne trouvera pas son package.

Si il est installé mais que votre version de python n’est pas la bonne voilà ce qui va suivre

ImportError: DLL load failed: %1 is not a valid Win32 application

Dans le cas ou tout c’est bien passé, voilà la suite.

5- HELLO QT

Nous allons maintenant réaliser un hello world avec PySide2, cela va nous permettre de tester un peu QT et imaginer les utilisations

Voilà un hello HelloWorld à copier dans votre text editor

import sys
from PySide2 import QtCore, QtWidgets, QtGuiclass Example(QtWidgets.QDialog):
def __init__(self):
super().__init__()

self.initUI()

def initUI(self):

self.button = QtWidgets.QPushButton(“Click me!”)
self.text = QtWidgets.QLabel(“Hello World”)
self.text.setAlignment(QtCore.Qt.AlignCenter)

self.layout = QtWidgets.QVBoxLayout()
self.layout.addWidget(self.text)
self.layout.addWidget(self.button)
self.setLayout(self.layout)

self.show()

if __name__ == ‘__main__’:

app = QtWidgets.QApplication.instance()
if app is None:
app = QtWidgets.QApplication(sys.argv)
ex = Example()

Et voilà le résultat dans votre blender

Et voilà, par la suite nous allons verrons

  • Quel sont les éléments de Qt, comment les utiliser.
  • Comment créer des interfaces avec QT editor
  • Customiser nos interfaces
  • Connecter des boutons à des fonctions

Conclusion

Si tout à fonctionné, vous voilà maintenant avec PySide2 prêt à l’emploi sur votre Blender. Il est maintenant possible de faire des interfaces en popup. De créer des interface avec QTdesigner et de les importer. De styliser votre interface avec des .qss (ce qui ressemble beaucoup à du css). Et avec ce que vous aurez appris sur PySide2 de vous en servir même pour d’autres applications tel que Maya.

Vous trouverez toute la documentation de QT, PySide2 et PyQt5 sur ce site https://doc.qt.io/qtforpython/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *