Blender (jusqu'à 2.49)
|
Python
Trucs
et Astuces(2)
Description:
faire cohabiter deux versions de python.
|
|
Avertissement:
Les relations entre python et
Blender sont assez tumultueuses. En 3 années d'existence (depuis
la lointaine époque où ce texte a été
écrit, 3 autres années se sont écoulées)
l'API python a connu bien des changements et accompagne bien des
versions du logiciel sur lesquels des auteurs de scripts très enthousiastes
ont produits des oeuvres originales de qualités qui augmentent considérablement
les capacités de modélisation et d'animation. Aussi faut-il
beaucoup de prudence et d'attention pour s'y retrouver car si la
tentation est grande devant ces travaux plus intéressants les uns
que les autres, on risque d'être déçu par les résultats
et, surtout, par la de longues liste de messages d'erreurs
Si la chronologie est complexe,
la relation avec une installation complète du langage, sans être
absolument indispensable, peut être utile mais ne facilite pas beaucoup
les choses car la synchronistion n'est pas toujours au rendez-vous . Cette
page se propose donc de donner des informations sur la manière de
faire coexister deux versions de python sur le même disque . Cette
fantaisie étant liées à l'obligation de conserver
plusieurs versions différentes de Blender lui-même .
Un tableau permet de visualiser les
différentes possibilités:
Blender 1.80
et 2.0x |
Python 1.52, Blender API Daniel
Dunbar |
Blender
2.1x |
Python 2.0, Blender API écrite
par Jan Walter |
Blender
2.14 et suivantes (voir en bas de page) |
Python 2.0, Blender API écrite
par Jan Walter cohabitant avec celle de Danel Dunbar. |
Blender 2.25
(alias Publisher, version payante du logiciel qui n'a pas connu
une grande carrière car la société a été
mise en faillite le14 mars 2002) |
Python2.x, mélange
du travail de Daniel Dunbar et de celui de Jan Walter avec une mise en
forme globale plus efficace et structurée. Auteur: Martin Strubel
(alias strubbi) |
Blender 2.28 |
Nouvelle API python proposée par
Michel Selten .
Abandon définitif de la compatibilité
avec l'API 2.1 |
Tous les scripts qui ont
été écrits pour la version 2.1x sont définitivement
inutilisables avec les versions 2.28 et suivantes, à moins d'être
lourdement adaptés, evidemment .
Comment procéder?
Une des questions que l'on se
pose est lié à la version de python qu'il faut utiliser:
faut-il avoir la 1.52 ou la 2.0?
Par ailleur, faut-il simplement installer
une version complète du python? Ne peut -on se contenter du fichier
DLL qui accompagne blender?
A priori ces DLLs (dans les versiosn plus
récentes, il y a aussi un fichier python2xx.zip qui contient d'autres
modules pour compléter l'échantillonages déjà
importants sous Window) sont suffisantes pour la plupart des scripts. Mais
il se peut que des modules externes doivent être chargés.
Dans ces cas là les bibliothèques pythons sont (ou, maintenant,
puisqu'il existe, comm e on vient de le signaler, un fichier spécial
pour gérer les modules nécessaires aux scripts livrés
en "bundle", peuvent être ) nécessaires.
sys.path et PYTHONPATH
Python se sert de deux outils
pour repérer ces bibliothèques. En premier lieu du module
'embarqué' : sys (un module embarqué se trouve
dans la DLL qui accompagne blender), en second lien du chemin de recherche
qui est contenu dans la liste path associée à ce module.
Il est possible de tester le contenu de cette liste avec le script ci-dessous:
import sys
print sys.path
f=open('syspath.txt','w')
for l in sys.path:
f.write(l+'\n')
f.close() |
On obtient un série de
répertoires qui correspond aux répertoires standards de toute
installation python qui se respecte que ce soit la version 1.52 ou la 2.0.
Contenu du fichier syspath.txt
.\DLLs
.\lib
.\lib\plat-win
.\lib\lib-tk
E:\ZI^P\3DGRX\BLENDER\BINARIES |
Par contre, pour savoir où
se trouve ces répertoires il est impératif de fournir le
lieu dans lequel VOUS les avez rangé. Lors de l'installation
vous avez certainement ajouter la variable d'environnement suivante dans
votre fichier
autoexec.bat.
...
rem contenu de la variable d'environnement déclarée dans
l'autoexec.bat
|