GIMP: скрипт python не отображается в меню

я следовал этой учебник, и это то, что я придумал до сих пор:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#http://www.ibm.com/developerworks/library/os-autogimp/

from gimpfu import*

def plugin_main(timg, tdrawable, maxh=540, maxw=800):

    currentWidth = tdrawable.width
    currentHeight = tdrawable.height

    newWidth = currentWidth
    newHeight = currentHeight

    if (maxw < newWidth):
        newWidth = maxw
        newHeight = (float(currentHeight) / (float(currentWidth) / newWidth))

    if (maxh < newHeight):
        newHeight = maxh
        newWidth = (float(currentWidth) / (float(currentHeight) / newHeight))

    pdb.gimp_image_scale(timg, newWidth, newHeight)

register(
        "python_fu_resize",
        "Saves the image at a maximum width and height",
        "Saves the image at a maximum width and height",
        "N N",
        "N N",
        "2013",
        "<Image>/Image/Resize to max...",
        "*",
        [],
        [],
        plugin_main)

main()

но плагин не будет отображаться в меню gimp (я использую gimp 2.8). Дал файлу chmod a+x права. Может ли местоположение файла быть проблемой:/.gimp-2.8/plug-ins/src/resize.py? Src из-за затмения.

1 ответов


если ваш скрипт имеет какие - либо синтаксические ошибки, он вообще не будет отображаться в меню-приведенный выше код имеет синтаксическую ошибку в самой первой строке кода from gimpfu import* (отсутствует пробел перед *)

один простой способ проверить синтаксические ошибки-попытаться запустить скрипт как автономный (он потерпит неудачу, когда не сможет найти модуль "gimpfu" вне GIMP, но к тому времени синтаксис будет проанализирован-другой способ-использовать утилиту lint, такую как pyflakes, чтобы проверить синтаксис.

другие ошибки во время выполнения, которые может содержать сценарий, должны появиться во всплывающем окне при запуске его из GIMP-на этом этапе вы можете только обновить сценарий и повторить его из меню. Однако если вы измените входные или выходные параметры скрипта, вам придется перезапустить GIMP .

и да, "расположение файла" и проблема - вы должны поместите свой код в каталог, указанный для Плагины in Настройки GIMP - по умолчанию это ~/.gimp-2.8/plug-ins/ или /usr/lib[64]/gimp/2.0/plug-ins - без " src " - если ваша IDE не позволяет указать, куда поместить ваши файлы, вы должны скопировать их туда самостоятельно или добавить src dirs в настройках GIMP.