2012-07-10 23 views
21

मैं पाइथन 3.2.2 पर PyGObject 3.0 का उपयोग कर एप्लिकेशन विकसित करने का प्रयास कर उबंटू 11.10 पर PyCharm 2.5 का उपयोग कर रहा हूं। मैंने Ubuntu पैकेज python3-gobject स्थापित किया है, और जब मैं अपना कोड चलाता हूं, तो यह ठीक वैसे ही काम करता है।PyCharm PyGObject 3.0 को हल नहीं कर सकता है, लेकिन कोड ठीक है

हालांकि, PyCharm किसी भी PyGObject मॉड्यूल को नहीं ढूंढ सकता है। यह Unresolved refrence: 'Gtk' कहता है जब मैं अपने आयात विवरण में जीटीके पर होवर करता हूं, और निश्चित रूप से ऑटो-पूर्णता कार्यों में से कोई भी काम नहीं करता है।

#!/usr/bin/env python3 

from gi.repository import Gtk 

win = Gtk.Window() 
win.connect("delete-event", Gtk.main_quit) 
win.show_all() 
Gtk.main() 

मैं भी एक अजगर आभासी वातावरण बनाने और फिर इसे में स्रोत से PyGObject स्थापित करने, और फिर भी कोशिश की site-packages/gi/overrides में सभी .py फ़ाइलों से सिमलिंक बनाने की कोशिश की है:

यह मेरा कोड है site-packages/gi/repository, सभी भाग्य के साथ।

किसी भी सलाह की सराहना की जाएगी!

उत्तर

29

जीटीके + 3 पाइथन बाइंडिंग में द्विआधारी मॉड्यूल को गतिशील रूप से *.typelib डेटाबेस का उपयोग करके उत्पन्न किया जाता है। सभी मॉड्यूल तक पहुंचने के लिए गतिशील आयातक gi.repository में स्थित है। PyCharm अपने कोड अंतर्दृष्टि का उपयोग करके इन मॉड्यूल का पता नहीं लगा सकता है, क्योंकि उन्हें विशेष हैंडलिंग की आवश्यकता होती है।

मैंने इस मुद्दे के लिए एक सुविधा अनुरोध दायर किया है: PY-6932। इसके लिए मतदान करने के लिए स्वतंत्र महसूस करें।

+0

आह मारा, PyGObject वास्तव में बहुत फैंसी है। आपकी सुविधा के लिए वोट दिया, शायद हम इसे कुछ दिन प्राप्त कर सकते हैं! : डी – HOLOGRAPHICpizza

+0

इसके अलावा, क्या कोई अन्य आईडीई इसका समर्थन करेगा? मैं एक मध्यम आकार के जीटीके + 3 एप्लिकेशन को विकसित करने वाला हूं और इसके लिए उपयोग करने के लिए एक अच्छा आईडीई रखना पसंद करूंगा। इस सुविधा को क्या कहा जाएगा ताकि मैं इसकी खोज कर सकूं? – HOLOGRAPHICpizza

+0

आप bpython या bpython3 –

39

स्थिति में redlined Gtk के अंदर का पाठ कर्सर:

from gi.repository import Gtk 

Alt + डालें और चुनें "बाइनरी मॉड्यूल के लिए स्टब्स उत्पन्न करें"