Blender Python
Blender Python
Corriger le path
dans le module "sys".
Corriger le path
dans le module "sys".
Il semble que dans certains cas, Python, le langage de programmation de Blender, ne soit pas capable d'identifier et de charger certains modules. Pas d'affolement, ce n'est pas une histoire à partir en quête du Saint Graal! Ce n'est pas grand chose, pas la peine, non plus, de vous crucifier l'esprit, regardez le bon coté de la vie, ce n'est qu'un leger problème de configuration.

Sous Windows, c'est certainement le plus facile, il suffit d'installer un package complet de python 1.52 pour régler le problème. Le fichier exécutif d'installation modifiant tous les paramètres nécessaires dans la base de registre pour qu'une fois lancé il puisse trouver tout ses sous répertoires et ses fichiers de gestion particuliers au système d'exploitation, comme par exemple : "os.py", qui n'est pas identique d'une plate-forme à l'autre.
Une opération de sécurité consiste à ajouter ces lignes au fichier de configuration "autoexec.bat":
 

SET BLENDERDIR=disque:\repertoire\BLENDER
SET PYTHONPATH=disque:\repertoire\PYTHON;disque:\repertoire\PYTHON\lib;disque:\repertoire\PYTHON\dlls
SET LIGHTFLOWPATH=disque:\LIGHTFLO
path=%path%;disque:\repertoire\Python

En prenant soin de changer "disque" pour la lettre du disque dur sur lequel se trouve le repertoire, et "répertoire", justement, pour le nom de répertoire adéquat. C'est, peut-être, un peu plus qu'une opération de sécurité, car sans ces lignes, le python de Blender est incapable de retrouver les bibliothèques complémentaires et se contente de travailler avec le minimum: c'est à dire ce qui se trouve à l'intérieur de la "DLL" qui a été dépliée à coté du fichier Blender.exe.

Sous linux, c'est un peu plus délicat, parce que les fichiers foisonnent dans tous les coins, et surtout parce que je n'ai pas une grande habitude de ce système. Je vous propose donc une méthode qui ne touchera pas votre installation mais vous obligera à commencer tous vos scripts blender/python de la même façon.
Il y a un prérequis indispensable sous linux: Python doit être DEJA installé!! La plupart des distributions grand public l'installent par défaut (en particulier la Mandrake 7 pour ne pas la citer, certainement la plus facile d'approche et d'utilisation), donc, il y a de fortes chances pour que ce soit déjà fait. Si ce n'est pas le cas, prenez votre courage à deux mains, et faite la chose vous-même, sans mon aide, car ce n'est absoluement pas le propos de cette page!!!Ne revenez que lorsque ce sera fait!
Eventuellement, vous pourriez avoir un doute sur la présence du Python...Là, je peux vous donner un coup de main. Commencez par ouvrir une console. Puis tapez:"python". Si le prompt ne renvoie pas un message d'inexistence de ce fichier, il se transformera en "Python >>>".
Tapez:"import sys"  et appuyez sur la touche "Entrée".
Rien ne se passe? C'est bon signe!! Et c'est normal: "sys" est un module interne de python, il n'a pas besoin d'aller le chercher dans un sous-répertoire quelquonque.
Mais ce que l'on vient de faire n'a pas beaucoup d'importance en soit, car on vient simplement de demander à python d'ajouter un terme dans sa liste de noms. Il faut taper "from sys import *" pour avoir accès à toutes les fonctions de ce module.
Mais je parle, je parle et j'en rajoute inutilement. La seule commande qui nous intéresse pour arriver à nos fin c'est:"sys.path"
Dois-je encore demander de taper "Entrée" après la commande en question? Donc, c'est fait! et vous avez devant vous la solution de tous vos problèmes: le vrai chemin d'accès du python. Normalement vous avez une liste du type :
"['/usr/lib/python1.5','/usr/lib/python1.5/plat-linux-i386','/usr/lib/python1.5/lib-dynload']"
ou n'importe quelle autre liste, on s'en moque: copiez soigneusement ce qui vient de s'inscrire avec les crochets, les guillemets et les virgules. Lancez Blender à partir de votre console! (Quoi? Vous ne savez pas comment faire!?!?! Apprenez!!) Dans Blender, faites SHIFT-F11, ça ouvre la fenêtre du traitement de texte. Ajoutez une nouvelle feuille avec la commande: "ADD NEW" ( en utilisant le menu sur la barre de commande de la fenêtre). Tapez:

import sys
l=sys.path
print l

N'oubliez pas de respecter le retour à la ligne. Faites: "ALT-p". Regardez le contenu de la console (et ne me répondez pas "comment on fait?" parce que sinon je vous laisse là et je retourne à des occupations plus satisfaisantes). Vous devriez voir quelque chose approchant la chaine de caractères suivante:
"['/usr/local/lib/python1.5','/usr/local/lib/python1.5/plat-linux-i386','/usr/local/lib/python1.5/lib-dynload']"
Et, effectivement, vos yeux ne vous trompent pas, un insolent petit répertoire "/local" s'est glissé entre le répertoire "/usr" et le répertoire "/lib".
Votre choix est simple soit: copier toute l'arborescence "lib/python1.5" dans le répertoire "/usr" (ça vous éviterait bien du travail, mais pourquoi vouloir changer quelque chose sur un système qui fonctionne? soit: commencer tous vos fichiers Blender/python par:
"import sys; sys.path=['/usr/lib/python1.5','/usr/lib/python1.5/plat-linux-i386','/usr/lib/python1.5/lib-dynload']"
 

cobalt, 5 Aout 2000

(Notez qu'il vous reste une alternative de poids: consulter quelqu'un de plus compétant que moi pour créer des liens symboliques vers ces répertoires sous linux. Remercions humblement ce lecteur compatissant qui nous a gentiment fait parvenir la réponse:

 à faire en root:
 ln -s /usr/lib/python1.5/ /usr/local/lib/python1.5
 ln -s /usr/lib/python1.5/plat-linux-i386/ /usr/local/lib/python1.5/plat-linux-i386/
 ln -s /usr/lib/python1.5/lib-dynload/ /usr/local/lib/python1.5/lib-dynload/
Détail essentiel:
lorsque vos liens sont à jour, il n'est plus nécesssaire de lancer Blender à partir d'une console pour avoir la possibilité d'utiliser Python!!  Un simple clic sur l'icône qui se trouve, certainement déjà, sur votre bureau KDE, et, bingo, vous avez le serpent au bout des doigts, si on me permet l'image.  Coup de chapeau à J. Guignot qui a suggéré l'idée. )