2011-04-26 9 views
12

मेरे पास विंडोज़ पर एक PyCharm 1.2.1 है। मुझे एक ही परियोजना की विभिन्न शाखाओं को संपादित करना है - कुछ हद तक भारी शाखाएं, क्योंकि वे डिस्क पर विभिन्न फ़ोल्डरों में रहते हैं - यह c:\apps\alpha और c:\apps\beta कहें। ऐसे प्रत्येक फ़ोल्डर के लिए PYTHONPATH चर को उचित विक्रेता पुस्तकालयों को इंगित करने के लिए समायोजित किया जाना चाहिए जो कहीं भी परियोजना रूट फ़ोल्डर (c:\alpha\vendor, ...) के अंदर रहते हैं। मैं cmd ​​बैच फ़ाइल से PyCharm शुरू करके इस समस्या के आसपास काम करने में कामयाब रहा, जो PyCharm शुरू करने से पहले आवश्यक PYTHONPATH परिवर्तनीय मान सेट करता है (इसलिए alpha और PyCharm.cmdbeta निर्देशिकाओं के अंदर)।PyCharm Python के आयात तर्क को कैसे और क्यों बदलता है?

समस्या: जब मैं संपादन beta फ़ोल्डर के लिए PyCharm खोलते हैं, तो import बयान alpha फ़ोल्डर से मॉड्यूल का आयात करता है! जब मैं कमांड लाइन से python.exe दुभाषिया शुरू करता हूं तो सब कुछ अपेक्षित काम करता है - समस्या केवल होती है जो केवल PyCharm के साथ होती है।

दूसरी अजीब जांच: PyCharm से print sys.path कोड निष्पादित करने और बाहरी python.exe दुभाषिया से कोड अलग-अलग परिणाम देते हैं - PyCharm से यह मेरे PythonPATH मॉड्यूल नहीं दिखाता है। मैं पाइथन और पायचर्म में एक नवागंतुक हूं, लेकिन यह व्यवहार बहुत अजीब और असंगत दिखता है।

अंततः मुझे PyCharm IDE में कुछ सेटिंग्स मिली हैं जो मुझे इस समस्या को हल करने की अनुमति देनी चाहिए - File -> Settings -> Python Interpreter। वहां मुझे alpha और beta फ़ोल्डर्स दोनों के लिए सभी पथ मिल गए हैं। इस पथ सूची को साफ़ करने का कोई तरीका नहीं है, केवल कुछ तत्व अक्षम करने के लिए। लेकिन यहां तक ​​कि कुछ हद तक बेवकूफ काम भी अक्षम करता है - मुझे alpha या beta "समाधान फ़ोल्डर्स" संपादित करने के लिए उन्हें अलग से अक्षम/पुन: सक्षम करना चाहिए।

तो अंतिम प्रश्न: पीईचर्म के साथ अलग-अलग परियोजनाओं (फ़ोल्डरों) को संपादित करने और पीई चार्म को गलत स्थानों से मॉड्यूल आयात करने के लिए कैसे मजबूर किया जा सकता है?

उत्तर

13

सही समाधान PyCharm के तर्क के आसपास काम करने की कोशिश नहीं करना है, बल्कि आईडीई सुविधाओं का उपयोग करने के बजाय उन्हें डिजाइन किया गया है। इसका मतलब है कि:

  • PyCharm
  • शुरू सेटिंग्स में पथों की सूची से सभी "अल्फा" के लिए विशिष्ट रास्तों और "बीटा" निकालें के लिए किसी भी .cmd स्क्रिप्ट का उपयोग नहीं | यदि कोई भी सूचीबद्ध है तो पाइथन इंटरप्रेटर
  • क्रमशः अल्फा और बीटा परियोजनाओं में स्रोत पंक्तियों के रूप में "अल्फा/विक्रेता" और "बीटा/विक्रेता" निर्देशिकाओं को चिह्नित करें।

फिर PyCharm आयात को सही ढंग से हल करेगा और एप्लिकेशन से चलते समय स्वचालित PYTHONPATH उत्पन्न करेगा।

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