2017-10-17 24 views
0

저는 김프 2와 웹 소켓 (자바와 js에서)을 광범위하게 사용했지만 저는 파이썬을 처음 접했습니다.김프 파이썬과 웹 소켓

나는 나의 김프 플러그인의 웹 소켓 클라이언트를 사용하려면, 그래서 나는 나 자신에게 (PIP와 함께 제공) 파이썬 2.7.14을 얻고, 나는이 웹 소켓 구현에서 발견 지침 설치 실행했습니다 https://github.com/websocket-client/websocket-client

I을 그것이 'six'와 'backports.ssl_match_hostname'에 의존한다는 것을 알았 기 때문에 pip를 사용하여 6 개가 이미 설치되었고 백 포트가 업데이트되었습니다. 다음과 같이

내 플러그인은 다음과 같습니다

나는 웹 소켓 관련 코드를 제거하면
#!/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() 

, 잘 작동하는 것처럼 보이지만 나는 위의 코드와이 오류를 얻을 :

(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 

무엇이 잘못 되었나요? 김프 파이썬 플러그인이 내 설치된 라이브러리를 읽을 수 없습니까? 김프에서 더 많은 정보를 얻을 수있는 방법이 있습니까? 나는 생각했다. 사실, 사실은 .. 장황하다.

편집 - 그냥 당신은 내가 육즙 디버깅 정보를 포함하고 있지 않다 생각 까봐 여기 내 전체 로그입니다, 명확합니다 .. : 윈도우 김프에

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) 

답변

0

가 자신의 파이썬 인터프리터와 함께 제공됩니다, 그래서 당신이 중 하나는에 있습니다

  • 하면 해당 인터프리터 인스턴스에 대한 패키지 (간단한 솔루션 IMHO)를 설치
  • 김프는 t를 참조 ((이 당신이 gimpfu 모듈과 가능성이 다른 사람을 ... 추가) 당신에게 다른 인터프리터를 사용하게 그는

몇 가지 힌트는 디버그 김프 파이썬 스크립트 here을) 김프 설치 디렉토리에 lib/gimp/2.0/interpreters/pygimp.interp.

+0

빠른 답장을 보내 주셔서 감사합니다. 오늘 밤 코드를 작성하고 해결하기 위해 수행 할 작업을 알려 드리겠습니다. 김프를 먼저 시스템 파이썬에 연결해 보도록하겠습니다.하지만 두 가지 모두를 끝내서 끝까지 보도록하겠습니다. –