2016-03-05 13 views
10

मुझे जीआईएमपी के लिए एक प्लगइन विकसित करने की आवश्यकता है और पाइथन संपादन आदि के लिए पीई चार्म के साथ रहना होगा।जीआईएमपी प्लगइन विकास के लिए PyCharm का उपयोग कैसे करें?

एफवाईआई, मैं विंडोज़ पर हूं।

PyCharm अजगर दुभाषिया उपयोग करने के लिए निर्देशन करने के बाद GIMP के साथ शामिल:

enter image description here

:

Project interpreter

मैं भी from gimpfu import * पर त्रुटि से छुटकारा पाने के gimpfu.py के पथ जोड़ा यह आयात पर त्रुटि को हल करता है, भले ही Excluded पर सेट हो।

मैं इस निर्देशिका Sources, Resources और Excluded आदि

enter image description here

कैसे खेल में PyCharm बिगड़ना पर कोई विचार स्थापित करने और अभी भी स्थिरांक जैसे RGBA-IMAGE, TRANSPARENT_FILL, NORMAL_MODE के लिए त्रुटियों को मिलता है, के साथ प्रयोग जीआईएमपी प्लगइन विकास के लिए अच्छा है?

वास्तव में PyCharm से किसी भी कोड चल रहा है, यह वास्तव में सिर्फ एक अच्छा कोड संपादक के रूप में,, इस्तेमाल किया जा रहा संशोधन नियंत्रण की सुविधा आदि

+0

क्या आपको वास्तविक त्रुटियां या केवल चेतावनियां मिल रही हैं? –

+0

शायद बहुत महत्वपूर्ण सुराग: त्रुटि क्या कहती है? यदि आप अपने माउस को लाल-घुंघराले रेखा पर घुमाते हैं, तो PyCharm क्या कहता है? – Ian

+0

क्या आपने उन चीजों को स्पष्ट रूप से आयात करने का प्रयास किया है? मैं 'gimpfu आयात' करने का प्रयास करता हूं, फिर उन gantsfu.RGBA_IMAGE' जैसे स्थिरांक तक पहुंचें। – fodma1

उत्तर

4

आप पाते हैं जैसा कि इस चर .pyd फ़ाइलें (अजगर के लिए dll files) का हिस्सा हैं। PyCharm को इस फाइल की सामग्री के लिए हस्ताक्षर नहीं मिल सकते हैं।

अजगर builtins लिए, (जैसे abs, all, any, आदि) PyCharm यह केवल हस्ताक्षर और दस्तावेज़ों के लिए उपयोग करता है खुद .py फ़ाइलें है है। आप इसे देख सकते हैं यदि आप इस funcs में से कुछ पर क्लिक करें और इसे की घोषणा करने के लिए जाना होगा:

enter image description here

PyCharm builtins.py फ़ाइल खुलेगी यह निम्नलिखित सामग्री के साथ फ़ोल्डर में:

def abs(*args, **kwargs): # real signature unknown 
    """ Return the absolute value of the argument. """ 
    pass 

def all(*args, **kwargs): # real signature unknown 
    """ 
    Return True if bool(x) is True for all values x in the iterable. 

    If the iterable is empty, return True. 
    """ 
    pass 

def any(*args, **kwargs): # real signature unknown 
    """ 
    Return True if bool(x) is True for any x in the iterable. 

    If the iterable is empty, return False. 
    """ 
    pass 

आप के रूप में देखें कार्यों को परिभाषित और दस्तावेज किया गया है, लेकिन कोई कार्यान्वयन नहीं है, क्योंकि उनके कार्यान्वयन सी के साथ बनाया गया है और कहीं बाइनरी फ़ाइल में रखा गया है।

पिचर्म प्रत्येक पुस्तकालय के लिए ऐसे रैपर प्रदान नहीं कर सकता है। आम तौर पर .pyd फाइलें बनाने वाले लोग अपने .py रैपर प्रदान करते हैं (उदाहरण के लिए, पीईक्यूटी मॉड्यूल: कोई देशी पायथन कार्यान्वयन, केवल हस्ताक्षर)।

ऐसा लगता है कि गिंप में कुछ चर के लिए ऐसा रैपर नहीं है। एकमात्र तरीका मैं देखता हूं कि मैन्युअल रूप से किसी प्रकार का स्वयं का रैपर बनाना है। उदाहरण के लिए, निम्नलिखित सामग्री के साथ gimpfu_signatures.py बनाएँ:

RGBA_IMAGE = 1 
TRANSPARENT_FILL = 2 
NORMAL_MODE = 3 

और यह आयात आप प्लगइन बनाते समय:

from gimpfu import * 
from gimpfu_signatures import * # comment on release 

सुरुचिपूर्ण नहीं, लेकिन बेहतर तो कुछ भी नहीं है।

... gimpfu.py के पथ के बारे में

एक और टिप्पणी। अगर मैं सही ढंग से समझता हूं, तो आपने अभी इस परियोजना को प्रोजेक्ट में जोड़ा है। यह काम कर सकता है, लेकिन सही तरीका यह है कि इसे परियोजना के पायथनपैथ (परियोजना वरीयताओं में) में जोड़ना है। विस्तृत मैनुअल के लिए this link देखें।

+0

इसके लिए धन्यवाद। मैं कल विस्तार से इसके माध्यम से जाऊंगा। मुझे डर था कि यह दृष्टिकोण करने का एकमात्र तरीका एक अवांछित कृत्रिम आयात हो सकता है। –

+0

यदि यह कुछ जिम प्रदान करना चाहिए, और कोई इसे योगदान देगा (अधिमानतः एक निर्माण के दौरान अद्यतन किया गया है), तो हम निश्चित रूप से इसे जीआईएमपी में स्वीकार करेंगे। –

+0

दिया गया उत्तर बिल्कुल सही जवाब नहीं है लेकिन फिर भी मैं बक्षीस का पुरस्कार दूंगा। –

संबंधित मुद्दे