2017-10-17 2 views
0

J'ai utilisé beaucoup GIMP 2 et WebSockets (java et js), mais je suis nouveau sur Python.GIMP Python et websockets

Je veux utiliser un client websocket dans mon plugin gimp, donc je me suis Python 2.7.14 (qui est livré avec pip), et je l'ai exécuté les instructions d'installation se trouvent sur cette implémentation websocket: https://github.com/websocket-client/websocket-client

I vu que cela dépend de 'six' et 'backports.ssl_match_hostname', j'ai donc utilisé pip pour installer les deux, six était déjà installé, et les backports mis à jour.

Mon plugin est comme suit:

#!/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() 

Si je me débarrasser de code lié WebSocket, il semble fonctionner très bien, mais je reçois cette erreur avec le code ci-dessus:

(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 

Je ne suis pas un pèlerin pour le débogage, mais il n'y a tout simplement pas assez d'informations pour que je puisse comprendre ce qui ne va pas. J'ai obtenu cette sortie en utilisant la commande:

gimp-2.8 --verbose --console-messages 

Qu'est-ce que je fais mal? Les greffons gimp python ne peuvent-ils pas lire mes bibliothèques installées? Existe-t-il un moyen d'obtenir plus d'informations sur Gimp? Je pensais --verbose serait en fait .. bien, verbeux.

Modifier- Pour être clair, voici mon journal entier, Incase vous pensez que je ne suis pas compris les informations de débogage juteuse ..:

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) 

Répondre

0

Sous Windows Gimp est livré avec son propre interprète Python, vous devez soit:

  • installer vos packages pour cette instance de l'interpréteur (IMHO de solution la plus simple)
  • ont Gimp utilisez-vous un autre interprète (auquel vous ajoutez le module gimpfu et peut-être d'autres ...) (voir t il lib/gimp/2.0/interpreters/pygimp.interp dans le répertoire d'installation Gimp)

Quelques conseils font des scripts python débogage Gimp here.

+0

Merci pour la réponse rapide, je vais travailler sur le code ce soir et de rendre compte de ce que je fais pour le réparer. Je pense que je vais d'abord essayer de connecter GIMP au système python, mais je finirai par faire les deux pour voir ce qui se passe. –