2013-01-14 29 views
9

मैंने इस विषय के लिए कई अन्य प्रश्न/उत्तर देखे हैं लेकिन इसका कोई फायदा नहीं हुआ है।आयात पुस्तकालय मुद्दे - "आयात त्रुटि: कोई मॉड्यूल नामित नहीं ____"

मैंने पाइप का उपयोग करके numpy और nltk डाउनलोड किया, और संदेशों के आधार पर मुझे पता है कि स्थापित स्थान है: Requirement already satisfied (use --upgrade to upgrade): nltk in /usr/local/lib/python2.7/site-packages, ऐसा लगता है कि यह संस्करण 2.7 के लिए निर्देशिका में स्थापित है।

जब मैं python चलाता हूं तो मुझे Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43) मिलता है, इसलिए यह स्पष्ट रूप से संस्करण 2.7 भी है।

हालांकि, जब मैं पाइथन कंसोल में "आयात nltk" या "आयात numpy" आज़माता हूं, तो मुझे हमेशा ImportError: No module named nltk त्रुटि मिलती है। किसी भी सलाह की काफी सराहना की जाएगी!

+1

ऐसा लगता है कि आपके पास एकाधिक पायथन इंस्टॉलेशन हैं, और "अन्य पायथन" में 'nltk' स्थापित है। " 'पायथनपथ' बदलना एक बदसूरत चाल है। इस उत्तर पर एक नज़र डालें और देखें कि यह आपकी स्थिति है: http://stackoverflow.com/a/12206868/565999 –

उत्तर

17

PYTHONPATH पर्यावरण परिवर्तक को बदलने का प्रयास करें। यदि आप बाश का उपयोग कर रहे हैं तो नीचे काम करना चाहिए। अन्य लिनक्स शैल पर्यावरण चर को असाइन करने में थोड़ा अलग होंगे।

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages 
+2

एक आकर्षण की तरह काम किया, धन्यवाद! – NeelPatel

+0

मुझे एनएलटीके और कुछ अन्य पैकेज को पायथन टर्मिनल के माध्यम से सुलभ बनाने के लिए .../dist-packages निर्यात करना था। इस संकेत के लिए धन्यवाद। –

+0

PYTHONPATH को बदलने से python34 c: \ Python34 \ Lib \ site-packages (पथ sys.path में pth के लिए आयात sys द्वारा दी गई सूची में दिखाया गया था: प्रिंट पीएचटी लेकिन किसी भी तरह से यह तब तक काम नहीं करता जब तक मैंने पायथनपैथ संपादित नहीं किया – JinSnow

9

समस्या यह है कि /usr/local/lib/python2.7/site-packages आपकी डिफ़ॉल्ट पथ सूची में नहीं है। इसे सत्यापित करने के लिए, निम्न आदेश चलाएं:

import sys 
for pth in sys.path: 
    print pth 

आपको मॉड्यूल के लिए खोज की गई निर्देशिकाओं की एक सूची मिल जाएगी। आप शायद सूची में /usr/local/lib/python2.7/site-packages नहीं होगा के रूप में, आप निम्नलिखित विकल्प हैं:

  1. nltk निकालें और निर्देशिका पथ में से एक (नोट में फिर से इसे स्थापित, डेबियन पर कि जैसे, यह /usr/local/lib/python2.7/dist-packages हो सकता है

  2. प्रत्येक रन पर, सेट PYTHONPATH चर:। export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages (आप $HOME/.bashrc फ़ाइल में इस आदेश को रख सकते हैं)

  3. /usr/lib/python2.7/site-packages या /usr/lib/python2.7/dist-packages में एक फ़ाइल local.pth रखो (उपरोक्त स्क्रिप्ट के आउटपुट के आधार पर), जिसमें एक पंक्ति है:

    /usr/local/lib/python2.7/site-packages 
    

    यह इस निर्देशिका को आपकी डिफ़ॉल्ट पथ सूची में स्थायी रूप से जोड़ देगा।

  4. (import nltk से पहले) अपनी स्क्रिप्ट की शुरुआत में (यह एक केवल कुछ शायद ही कभी इस्तेमाल किया अमानक संकुल कुछ अजीब स्थान में स्थापित है, जो शायद है नहीं अपने मामले के लिए सिफारिश की है) निम्नलिखित कोड जोड़ें:

    import sys 
    sys.path.append("/usr/local/lib/python2.7/site-packages") 
    
संबंधित मुद्दे