python - PyDev और ग्रहण के साथ अनसुलझे आयात मुद्दे




python-import (9)

इस मुद्दे को हल करने के दो तरीके हैं:

  • "पायथन दुभाषियों" से पाइथन दुभाषिया को हटाएं और इसे दोबारा जोड़ें।
  • या बस अपने प्रोजेक्ट में उपयोग किए जा रहे दुभाषिया में पुस्तकालयों के साथ फ़ोल्डर जोड़ें, मेरे मामले में मैं "बोतल" का उपयोग कर रहा था और मैंने जो फ़ोल्डर जोड़ा था वह "c: \ Python33 \ Lib \ site-packages \ bottle-0.11.6 था -py3.3.egg "

अब मुझे अब त्रुटि दिखाई नहीं दे रही है, और कोड पूर्णता सुविधा "बोतल" के साथ-साथ काम करती है।

मैं पाइडेव और पायथन के लिए बहुत नया हूं, हालांकि मैंने जावा के लिए एक्लिप्स का उपयोग किया है। मैं पाइथन उदाहरणों में से कुछ गोताखोरों के माध्यम से काम करने की कोशिश कर रहा हूं और यह एक बेहद मामूली समस्या की तरह लगता है जो कि बहुत परेशान हो रहा है। मैं उबंटू लिनक्स 10.04 का उपयोग कर रहा हूं।

मैं फ़ाइल odbchelper.py का उपयोग करने में सक्षम होना चाहता हूं, जो निर्देशिका /Desktop/Python_Tutorials/diveintopython/py

यहां मेरी example.py फ़ाइल है कि मैं अपने PyDev / ग्रहण परियोजना में काम कर रहा हूं:

import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")

यह ठीक काम करता है, लेकिन फिर मैं चाहता हूं कि मेरे कोड की अगली पंक्ति हो:

import odbchelper

और यह हर बार एक अनसुलझा आयात त्रुटि का कारण बनता है। मैंने लगभग हर निर्देशिका में __init__.py फ़ाइलों को जोड़ा है और यह कुछ भी मदद नहीं करता है। मैंने परियोजना स्थान और odbchelper.py फ़ाइल के बीच निर्देशिका के विभिन्न स्तरों पर एक समय में __init__.py फ़ाइलों को जोड़ने का प्रयास किया है, और मैंने साथ ही साथ सभी निर्देशिकाओं में __init__.py फ़ाइलों को जोड़ने का भी प्रयास किया है । न तो काम करता है।

मैं बस कुछ अन्य निर्देशिका में एक परियोजना है, कहें /Desktop/MyStuff/Project , जिसमें मेरे पास example.py है ... और फिर example.py से मैं odbchelper.py /Desktop/Python_Tutorials/diveintopython/py/

प्रत्येक संदेश बोर्ड प्रतिक्रिया मैं इस निर्देशिका को अपने पथ में जोड़ने के लिए sys.path.append() फ़ंक्शन का उपयोग करने के लिए कह सकता हूं, और उसके बाद इसे आयात कर सकता हूं ... लेकिन यह ठीक है कि मैं अपने कोड में क्या कर रहा हूं और यह काम नहीं कर रहा है ।

मैंने त्रुटि संदेश को दबाने के लिए Ctrl - 1 चाल भी कोशिश की है, लेकिन प्रोग्राम अभी भी सही तरीके से काम नहीं कर रहा है। मुझे एक त्रुटि मिलती है, ImportError: No module named odbchelper । तो यह स्पष्ट रूप से पथ जोड़ा नहीं जा रहा है, या कुछ समस्या है कि __init__.py फ़ाइलों को जोड़ने के मेरे कई __init__.py को याद किया गया है।

यह बहुत निराशाजनक है कि यह कुछ आसान है ... कुछ फाइलों से चीज़ों को बुला रहा है जो मेरी मशीन पर कहीं और मौजूद हैं ... इस प्रयास की आवश्यकता है।


आपके pydev प्रोजेक्ट के गुणों में, "पाइडेव - पायथनपैथ" नामक एक फलक है, जिसमें "बाहरी पुस्तकालय" नामक एक उप-फलक है। आप उस फलक का उपयोग कर पथ फ़ोल्डर में स्रोत फ़ोल्डर (किसी भी फ़ोल्डर जिसमें __init__.py ) जोड़ सकते हैं। आपका प्रोजेक्ट कोड तब उन स्रोत फ़ोल्डर्स से मॉड्यूल आयात करने में सक्षम होगा।


मैंने अपने पायथनपैथ को ठीक किया और सबकुछ बेकार था जब मैंने कंसोल के माध्यम से सामान आयात किया था, लेकिन इन सभी पूर्व अनसुलझे आयातों को अभी भी मेरे कोड में त्रुटियों के रूप में चिह्नित किया गया था, इससे कोई फर्क नहीं पड़ता कि मैंने ग्रहण को फिर से शुरू किया या प्रोजेक्ट को रीफ्रेश / साफ किया।

मैंने प्रोजेक्ट पर राइट क्लिक किया-> पायडेव-> त्रुटि मार्कर निकालें और यह उस समस्या से छुटकारा पा लिया। चिंता न करें, अगर आपके कोड में वास्तविक त्रुटियां हैं तो उन्हें फिर से चिह्नित किया जाएगा।


निम्नलिखित में, मेरी राय में समस्या हल हो जाएगी

  1. अपने "~ / डेस्कटॉप / पायथन ट्यूटोरियल / डाइविंटोपीथॉन / पीई" फ़ोल्डर में init .py जोड़ना
  2. विंडो पर जाएं -> प्राथमिकताएं -> PyDev -> दुभाषिए -> पाइथन इंटरप्रेटर आपके पायथन इंटरप्रेटर सेटिंग को हटाने के लिए (कारण यह है क्योंकि PyDev किसी भी सिस्टम पायथनपैथ में किए गए किसी भी अपडेट को रीफ्रेश करने में असमर्थ है)
  3. इंटरप्रेटर में पहले के समान विवरण के साथ जोड़ें (यह आपके पायथन इंटरप्रेटर सेटिंग को आपके पायथनपैथ में किए गए अपडेट के साथ रीफ्रेश करेगा)
  4. अंत में जब से आपका "~ / डेस्कटॉप / पायथन ट्यूटोरियल / डाइविंटोपीथॉन / पीई" फ़ोल्डर मानक पायथनपैथ नहीं है, तो आपको इसे जोड़ना होगा। इसे करने के दो तरीके हैं

ए। डेविड जर्मन ने जो सुझाव दिया उसके अनुसार। हालांकि यह केवल उन विशेष परियोजनाओं के लिए लागू है जो आप बी में हैं। विंडो के तहत एक नए पायथनपैथ में "~ / डेस्कटॉप / पायथन ट्यूटोरियल / डाइविंटोपीथॉन / पीई" में जोड़ें -> प्राथमिकताएं -> पायडेव -> दुभाषिए -> पायथन इंटरप्रेटर -> पुस्तकालय उपटैब -> न्यूफोल्डर

आशा करता हूँ की ये काम करेगा।


यहां मेरे लिए क्या काम किया गया है (soulBit द्वारा परेशान):

1) Restart using restart from the file menu
2) Once it started again, manually close and open it.

यह अब तक का सबसे आसान समाधान है और यह पूरी तरह से परेशान चीज को हटा देता है।


मैं एक्लिप्स 4.2.0 (जूनो) और पायडेव 2.8.1 चला रहा हूं, और इस समस्या में मेरी साइट-पैकेज पथ पर स्थापित lib के साथ भाग गया। इस एसओ सवाल के मुताबिक:

Pydev और * .pyc फ़ाइलें

... PyDev और pyc फ़ाइलों के साथ एक मुद्दा है। विशेष lib के मामले में मैंने संदर्भ देने की कोशिश की, जो कुछ भी दिया गया है वह पीईसी फाइल है।

यहां बताया गया है कि मैंने इसे संबोधित करने के लिए क्या किया:

  1. Https://github.com/Mysterie/uncompyle2 से uncompyle2 इंस्टॉल https://github.com/Mysterie/uncompyle2
  2. साइट-पैकेज lib में * .pyc फ़ाइलों के विरुद्ध uncompyle2 चलाएं। उदाहरण:

    uncompyle2 -r -o / tmp / path / to / site-packages / lib

  3. Uncompyle2 से * .py तक उत्पादित * .pyc_dis फ़ाइलों का नाम बदलें
  4. इन * .py फ़ाइलों को साइट-पैकेज पथ पर ले जाएं / कॉपी करें
  5. ग्रहण में, फ़ाइल> पुनरारंभ करें का चयन करें

.pyc फ़ाइलों से संबंधित अनसुलझे आयात त्रुटि अब गायब होनी चाहिए।


मैं एक्लिप्स केप्लर 4.3, पायडेव 3.9.2 का उपयोग कर रहा हूं और मेरे यूबंटू 14.04 पर मुझे एक ही समस्या का सामना करना पड़ा। मैंने उपर्युक्त विकल्पों में से सभी के साथ घंटों में कोशिश की और बिताए। तब मैंने निम्नलिखित की कोशिश की जो महान था:

  • प्रोजेक्ट का चयन करें -> राइटक्लिक-> PyDev -> PyDev Project Config को हटाएं
  • फ़ाइल-> पुनरारंभ करें

और मैं पाइथन 2.7 का उपयोग एक दुभाषिया के रूप में कर रहा था, हालांकि यह नहीं लगता है, मुझे लगता है।


मैंने अभी एक WXWindows प्रोजेक्ट को पायथन 2.7 में अपग्रेड किया है और पाइडेव को नए दुभाषिया को पहचानने में परेशानी का कोई अंत नहीं था। दुभाषिया को कॉन्फ़िगर करने के ऊपर जैसा ही था, ग्रहण और पायदेव का एक नया स्थापित किया। सोचा कि अजगर का कुछ हिस्सा भ्रष्ट होना चाहिए, इसलिए मैंने फिर से सबकुछ फिर से स्थापित किया। Arghh! परियोजना को बंद कर दिया और फिर से खोल दिया, और इन सभी परिवर्तनों के बीच ग्रहण को फिर से शुरू किया।

आखिरकार आपने देखा कि आप प्रोजेक्ट पर राइट क्लिक करके 'पीडीडीवी प्रोजेक्ट कॉन्फ़िगरेशन' को हटा सकते हैं। फिर इसे फिर से एक पीईडीवी परियोजना में बनाया जा सकता है, अब यह सोने के रूप में अच्छा है!


आप नहीं कर सकते, क्योंकि चर असाइनमेंट एक स्टेटमेंट है, न कि एक एक्सप्रेशन, और eval केवल eval एक्सप्रेशन हो सकता है। इसके बजाय exec उपयोग करें।

बेहतर अभी तक, या तो उपयोग न करें और हमें बताएं कि आप वास्तव में क्या करने की कोशिश कर रहे हैं ताकि हम एक सुरक्षित और समझदार समाधान के साथ आ सकें।





python pydev python-import