Gimp:por que não consigo registrar isso?
Pergunta
Estou escrevendo um complemento para o Blender para sincronizá-lo com o Gimp e esse script deve poder ser iniciado no Gimp, mas não consigo registrá-lo...Por que?
liquidificador_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()
É realmente estranho...
Solução
Você não disse qual erro está recebendo - mas como postou seu arquivo de origem, acho que posso adivinhar:O GIMP espera que seus plug-ins sejam executáveis pelo sistema - e o que diz aos sistemas Posix (incluindo Linux) que um arquivo deve ser executado com um interpretador ou shell específico é a linha shebang - a linha que vai #!/usr/bin/env python
no seu exemplo.
Esta linha, no entanto, deve ser a primeiro linha em seu arquivo - o #!
caracteres nele devem ser os dois primeiros caracteres do arquivo.A linha que denota a codificação de caracteres - # -*- coding: utf-8 -*-
deve vir depois - deve ser a segunda linha do arquivo, sem linhas em branco entre elas).
E finalmente, certifique-se de definir o script como executável, executando "chmod a+x" no arquivo Python.
relacionado a ele, mas não sendo o que está causando o problema, colocar o caminho do menu junto com o nome do menu do script está obsoleto no GIMP - a maneira correta de fazer isso é, após o parâmetro "data", passar apenas o nome que deve aparecer no menu -- "Sync" - e passe o caminho do menu como parâmetro nomeado, no final da chamada, como: menu="<Image>/Image/Blender-Gimp"