Вопрос

Я пишу дополнение для Blender, чтобы синхронизировать его с Gimp, и этот скрипт должен иметь возможность запускаться из Gimp, но я не могу его зарегистрировать...Почему?

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()

Это действительно странно...

Это было полезно?

Решение

Вы не сказали, какую ошибку вы получаете, но поскольку вы опубликовали свой исходный файл, я думаю, что могу догадаться об этом:GIMP ожидает, что его плагины будут исполняемы системой - и то, что сообщает системам Posix (включая Linux), что файл должен быть выполнен с помощью определенного интерпретатора или оболочки, - это строка shebang - строка, которая идет #!/usr/bin/env python в вашем примере.

Эта строка, однако, должна быть Первый строка в вашем файле - #! символы в нем должны быть первыми двумя символами в файле.Строка, обозначающая кодировку символа - # -*- coding: utf-8 -*- должна идти после нее - это должна быть вторая строка в файле, никаких пустых строк между ними).

И, наконец, обязательно установите скрипт как исполняемый, запустив "chmod a + x " в файле Python.

связанный с этим, но не являющийся причиной проблемы, ввод пути к меню вместе с именем меню сценария устарел в GIMP - правильный способ сделать это - после параметра "дата" передать только имя, которое должно отображаться в меню - "Синхронизация" - и передать путь к меню в качестве именованного параметра в конце вызова, например: menu="<Image>/Image/Blender-Gimp"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top