Gimp :pourquoi je ne peux pas l'enregistrer ?
Question
J'écris un module complémentaire pour Blender pour le synchroniser avec Gimp et ce script devrait pouvoir démarrer depuis Gimp, mais je ne peux pas l'enregistrer...Pourquoi?
blender_gimp_sync.py :
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from gimpfu import *
def blender_gimp_sync():
image_dir = "/home/antoni4040/Έγγραφα/Layout.png"
image = gimp.pdb.gimp_file_load(image_dir, image_dir)
gimp.Display(image)
register(
"python_fu_bgsync",
"Blender-Gimp Sync",
"Syncronize Gimp with Blender for texturing",
"Antonis Karvelas",
"Antonis Karvelas",
"2012",
"<Image>/Image/Blender-Gimp Sync",
"*",
[],
[],
blender_gimp_sync
)
main()
C'est vraiment étrange...
La solution
Vous n'avez pas dit quelle erreur vous obtenez - mais depuis que vous avez publié votre fichier source, je pense pouvoir le deviner :GIMP s'attend à ce que ses plug-ins soient exécutables par le système - et ce qui indique aux systèmes Posix (Linux inclus) qu'un fichier doit être exécuté avec un interpréteur ou un shell particulier est la ligne shebang - la ligne qui va #!/usr/bin/env python
dans votre exemple.
Cette ligne doit cependant être la d'abord ligne dans votre fichier - la #!
les caractères qu'il contient doivent être les deux premiers caractères du fichier.La ligne indiquant l'encodage des caractères - # -*- coding: utf-8 -*-
devrait venir après - il doit s'agir de la deuxième ligne du fichier, sans lignes vides entre elles).
Et enfin, assurez-vous de définir le script comme exécutable, en exécutant "chmod a+x" sur le fichier Python.
lié à celui-ci, mais n'étant pas à l'origine du problème, mettre le chemin du menu avec le nom du menu de script est obsolète dans GIMP - la bonne façon de le faire est, après le paramètre "date", de transmettre uniquement le nom qui devrait s'afficher dans le menu -- "Sync" - et passez le chemin du menu en paramètre nommé, à la fin de l'appel, comme : menu="<Image>/Image/Blender-Gimp"