0

我已经广泛使用了 GIMP 2 和 WebSockets(在 java 和 js 中),但我是 Python 新手。

我想在我的 gimp 插件中使用 websocket 客户端,所以我得到了自己的 Python 2.7.14(它带有 pip),并且我运行了在这个 websocket 实现上找到的安装说明:https ://github.com/websocket-客户端/websocket 客户端

我看到它依赖于 'six' 和 'backports.ssl_match_hostname',所以我使用 pip 安装了两者,已经安装了 6 个,并且更新了 backports。

我的插件如下:

#!/usr/bin/env python

from gimpfu import *
import websocket

def python_pytest(img, layer) :
    # Actual plug-in code will go here
    ws = websocket.WebSocket()
    ws.connect("ws://example.com/websocket", http_proxy_host="proxy_host_name", http_proxy_port=3128)
    return

register(
    "python_fu_pytest", #Name so other scripts can find us
    "Collaborative Editing", #Short Desc
    "WebSocket based collaborative editing", #Long description
    "Jonathan Crowder", #Author
    "Open Source", #Copyright Holder
    "2017", #Copyright Date
    "NetCanvas", #Plugin name in menus
    "*", #Image types we can handle
    [], #Params shown to user
    [], #Return values
    python_pytest, #Main function
    menu="<Image>/NetCanvas") #Where to show in menus
main()

如果我摆脱了与 websocket 相关的代码,它似乎工作得很好,但是上面的代码出现了这个错误:

(gimp-2.8.exe:5508): LibGimpBase-WARNING **: gimp-2.8.exe: gimp_wire_read(): error
Querying plug-in: 'C:\Users\Jonathan\.gimp-2.8\plug-ins\netcanvas.py'

(gimp-2.8.exe:5508): LibGimpBase-WARNING **: gimp-2.8.exe: gimp_wire_read(): error

我不是调试的朝圣者,但没有足够的信息让我找出问题所在。我使用命令得到了该输出:

gimp-2.8 --verbose --console-messages

我究竟做错了什么?gimp python插件不能读取我安装的库吗?有没有办法从 gimp 中获取更多信息?我认为 --verbose 实际上会......好吧,冗长。

编辑-为了清楚起见,这是我的整个日志,以防你认为我没有包括多汁的调试信息..:

INIT: gimp_load_config
Parsing 'C:\Users\Jonathan\.gimp-2.8\unitrc'
Parsing 'C:\Program Files\GIMP 2\etc\gimp\2.0\gimprc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\gimprc'
gimp_composite: verbose=no
Processor instruction sets: +mmx +sse +sse2 -3dnow -altivec -vis
Adding theme 'Default' (C:\Program Files\GIMP 2\share\gimp\2.0\themes\Default)
Adding theme 'Small' (C:\Program Files\GIMP 2\share\gimp\2.0\themes\Small)
Writing 'C:\Users\Jonathan\.gimp-2.8\themerc'
Trying splash 'C:\Users\Jonathan\.gimp-2.8\gimp-splash.png' ... failed
Trying splash 'C:\Program Files\GIMP 2\share\gimp\2.0\images\gimp-splash.png' ..
. OK
INIT: gimp_initialize
INIT: gimp_real_initialize
INIT: gui_initialize_after_callback
INIT: gimp_restore
Parsing 'C:\Users\Jonathan\.gimp-2.8\parasiterc'
Loading 'brush factory' data
Loading 'dynamics factory' data
Loading 'pattern factory' data
Loading 'palette factory' data
Loading 'gradient factory' data
Loading fonts
Loading 'tool preset factory' data
Parsing 'C:\Users\Jonathan\.gimp-2.8\templaterc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\modulerc'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcolor-selector-c
myk.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcolor-selector
-cmyk.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcolor-selector-w
ater.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcolor-selector
-water.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcolor-selector-w
heel.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcolor-selector
-wheel.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcontroller-dx-di
nput.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libcontroller-dx-
dinput.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter-c
olor-blind.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter
-color-blind.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter-g
amma.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter
-gamma.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter-h
igh-contrast.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter
-high-contrast.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter-l
cms.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter
-lcms.dll'
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter-p
roof.dll'
Unloading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter
-proof.dll'
INIT: gui_restore_callback
clipboard: writable pixbuf format: image/png
clipboard: writable pixbuf format: image/bmp
clipboard: writable pixbuf format: image/x-bmp
clipboard: writable pixbuf format: image/x-MS-bmp
clipboard: writable pixbuf format: image/x-icon
clipboard: writable pixbuf format: image/x-ico
clipboard: writable pixbuf format: image/x-win-bitmap
clipboard: writable pixbuf format: image/tiff
clipboard: writable pixbuf format: image/jpeg
Parsing 'C:\Users\Jonathan\.gimp-2.8\sessionrc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\dockrc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\toolrc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\contextrc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-rect-select-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-ellipse-select-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-free-select-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-fuzzy-select-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-by-color-select-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-iscissors-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-foreground-select-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-vector-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-color-picker-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-zoom-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-measure-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-move-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-align-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-crop-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-rotate-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-scale-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-shear-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-perspective-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-flip-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-cage-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-text-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-bucket-fill-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-blend-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-pencil-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-paintbrush-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-eraser-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-airbrush-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-ink-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-clone-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-heal-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-perspective-clone-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-convolve-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-smudge-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-dodge-burn-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-desaturate-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-color-balance-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-hue-saturation-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-colorize-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-brightness-contrast-tool'

Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-threshold-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-levels-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-curves-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-posterize-tool'
Parsing 'C:\Users\Jonathan\.gimp-2.8\tool-options\gimp-gegl-tool'
INIT: gimp_real_restore
Parsing 'C:\Users\Jonathan\.gimp-2.8\pluginrc'
Querying plug-in: 'C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\pyconsole.py'

(gimp-2.8.exe:5508): LibGimpBase-WARNING **: gimp-2.8.exe: gimp_wire_read(): err
or
Querying plug-in: 'C:\Users\Jonathan\.gimp-2.8\plug-ins\netcanvas.py'

(gimp-2.8.exe:5508): LibGimpBase-WARNING **: gimp-2.8.exe: gimp_wire_read(): err
or
Writing 'C:\Users\Jonathan\.gimp-2.8\pluginrc'
Starting extension: 'extension-script-fu'
INIT: gui_restore_after_callback
Parsing 'C:\Users\Jonathan\.gimp-2.8\menurc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\devicerc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\controllerrc'
Parsing 'C:\Users\Jonathan\.gimp-2.8\colorrc'
loading menu 'C:\Program Files\GIMP 2\share\gimp\2.0\menus\image-menu.xml' for /
image-menubar
Loading module 'C:\Program Files\GIMP 2\lib\gimp\2.0\modules\libdisplay-filter-l
cms.dll'
EXIT: gimp_exit
EXIT: gui_exit_callback
Writing 'C:\Users\Jonathan\.gimp-2.8\sessionrc'
Writing 'C:\Users\Jonathan\.gimp-2.8\dockrc'
Writing 'C:\Users\Jonathan\.gimp-2.8\colorrc'
Writing 'C:\Users\Jonathan\.gimp-2.8\menurc'
Writing 'C:\Users\Jonathan\.gimp-2.8\controllerrc'
Writing 'C:\Users\Jonathan\.gimp-2.8\toolrc'
EXIT: gimp_real_exit
Writing 'C:\Users\Jonathan\.gimp-2.8\templaterc'
Writing 'C:\Users\Jonathan\.gimp-2.8\parasiterc'
Writing 'C:\Users\Jonathan\.gimp-2.8\unitrc'
EXIT: gui_exit_after_callback
EXIT: app_exit_after_callback
(Type any character to close this window)
4

1 回答 1

0

在 Windows 上,Gimp 带有自己的 Python 解释器,因此您必须:

  • 为该解释器实例安装您的软件包(最简单的解决方案恕我直言)
  • 让 Gimp 使用您的其他解释器(您向其中添加gimpfu模块和可能的其他解释器......)(参见lib/gimp/2.0/interpreters/pygimp.interpGimp 安装目录中的)

一些提示在此处调试 Gimp python 脚本。

于 2017-10-17T07:14:35.603 回答