क्या हो रहा है ImportError: OS X पर पायथन के अपग्रेड के बाद pkg_resources नाम का कोई मॉड्यूल नहीं है?


82

मैंने अपने मैक पर सिर्फ पायथन को 2.6.4 में अपडेट किया। मैंने dmg पैकेज से इंस्‍टॉल किया।

तो मैं जोड़ा द्विआधारी, सही ढंग से मेरी पायथन पथ सेट नहीं लगता था '/usr/local/lib/python2.6/site-packages'में.bash_profile

>>> pprint.pprint(sys.path)  
['',
'/Users/Bryan/work/django-trunk', 
'/usr/local/lib/python2.6/site-packages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']

जाहिर है कि सभी आवश्यक पथ नहीं है क्योंकि मैं iPython नहीं चला सकता।

$ ipython  
Traceback (most recent call last):  
  File "/usr/local/bin/ipython", line 5, in <module>  
  from pkg_resources import load_entry_point  
ImportError: No module named `pkg_resources`

मैंने Google खोजें की हैं और मैं वास्तव में यह पता नहीं लगा pkg_resourcesसकता कि इसे कैसे स्थापित किया जाए या यह सुनिश्चित किया जाए कि यह रास्ते पर है।

इसे ठीक करने के लिए मुझे क्या करना चाहिए?

जवाबों:


73

[अद्यतन] टीएल; डीआर pkg_resourcesको वितरित या सेटप्टूल द्वारा प्रदान किया जाता है

[अद्यतन २] जैसा कि PyCon 2013 में घोषित किया गया है, Distributeऔर setuptoolsपरियोजनाओं को फिर से मिला दिया गया है। Distributeअब पदावनत हो गया है और आपको बस नए करंट का उपयोग करना चाहिए setuptools। इसे इस्तेमाल करे:

curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

या, बेहतर, pipउच्च स्तर के इंटरफ़ेस के रूप में एक वर्तमान का उपयोग करें और जो setuptoolsकवर के तहत उपयोग करेगा ।

[ओपी की विशिष्ट समस्या के लिए लंबा उत्तर]:

आप अपने प्रश्न में नहीं कहते हैं, लेकिन मैं आपको मान रहा हूँ कि Apple द्वारा आपूर्ति की गई पायथन (10.5 पर 10.5 या 2.6.1 10.6 को) या आपने python.org पायथन 2.5 से अपग्रेड किया है। उन मामलों में से किसी में, महत्वपूर्ण बिंदु यह है कि प्रत्येक पायथन उदाहरण की अपनी लाइब्रेरी है, जिसमें अपनी साइट-पैकेज लाइब्रेरी भी शामिल है, जो कि अतिरिक्त पैकेज स्थापित हैं। (और उनमें से कोई भी /usr/local/libडिफ़ॉल्ट रूप से उपयोग नहीं करता है।) इसका मतलब है कि आपको उन अतिरिक्त पैकेजों को स्थापित करने की आवश्यकता होगी जो आपको अपने नए अजगर 2.6 के लिए चाहिए। ऐसा करने का सबसे आसान तरीका यह है कि सबसे पहले यह सुनिश्चित करें कि नया python2.6 आपकी खोज पर सबसे पहले दिखाई देता है $PATH(यानी, टाइपिंग python2.6इसे अपेक्षित रूप से आमंत्रित करती है); python2.6 इंस्टॉलर को .bash_profileअपनी रूपरेखा बिन निर्देशिका को सामने रखने के लिए संशोधित करना चाहिए $PATH। फिर easy_installउपयोग कर स्थापित करेंsetuptools वहाँ निर्देशों का पालन। pkg_resourcesमॉड्यूल भी स्वचालित रूप से इस कदम से स्थापित किया गया है।

फिर स्थापित करने के लिए easy_install(या pip) के नए-स्थापित संस्करण का उपयोग करें ipython

easy_install ipython

या

pip install ipython

यह स्वचालित रूप से site-packagesउस अजगर उदाहरण के लिए सही स्थान पर स्थापित हो जाना चाहिए और आपको जाने के लिए अच्छा होना चाहिए।


कल रात जब मैंने सेटप्टूल स्थापित करने की कोशिश की तो मैंने गड़बड़ कर दी। मैंने .egg फ़ाइल चलाकर स्थापना को समाप्त करने की उपेक्षा की, जैसे कि यह एक शेल फ़ाइल थी। $ sh सेटप्टूलस-0.6c11-py2.6.egg मुझे लगता है कि कहीं नए पायथन पथ को जोड़ा।
ब्रायनव्हीलॉक

नोट: मेरे लिए इस मुद्दे को हल करने वाला वास्तविक उत्तर नीचे था- देखें stackoverflow.com/a/10538341/293064
Jay Taylor

मैंने इस पुराने उत्तर को थोड़ा और अपडेट किया है ताकि यह स्पष्ट हो सके कि समाधान Distributeया तो स्थापित करना है या setuptools। विशिष्ट चरण लिंक में थे। ओपी के सवाल ने अन्य मदों को कवर किया।
नेड डिली

distributeनए के पक्ष में प्रतिक्षेपण को दर्शाने setuptoolsऔर उल्लेख करने के लिए एक और संपादन pip
नेड डिली

1
प्राप्त करना python ez_setup.py File "ez_setup.py", line 1 <!DOCTYPE html> ^ SyntaxError: invalid syntax:(
hi15

76

मैंने उसी का सामना किया ImportError। किसी तरह setuptoolsमेरे पायथन वातावरण में पैकेज को हटा दिया गया था।

समस्या को ठीक करने के लिए, इसके लिए सेटअप स्क्रिप्ट चलाएँ setuptools:

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

यदि आपके पास कोई संस्करण है distribute, या setuptools0.6 से नीचे है, तो आपको पहले इसे अनइंस्टॉल करना होगा। *

देखें स्थापना निर्देश अधिक जानकारी के लिए।


* यदि आपके पास पहले से ही एक काम है distribute , इसे "अनुकूलता आवरण" में अपग्रेड करना जो आपको स्विच setuptoolsकरना आसान है। लेकिन अगर चीजें पहले से ही टूट चुकी हैं, तो कोशिश न करें


3
यह इसे करने का सही तरीका है। Pkg_resources के बिना, easy_installसंभवतया भी काम नहीं करेगा (इसलिए easy_installऔर pipसेट-अप स्थापित करने में सक्षम नहीं होगा)।
एलेक्स चर्चिल

डिस्ट्रिब्यूट या सेटप्टूल स्थापित करना वास्तव में, स्वीकृत उत्तर की सिफारिश की गई है। मैंने इसे और अधिक स्पष्ट करने के लिए मूल उत्तर को थोड़ा अद्यतन किया है। BTW, पहले फ़ाइल की सामग्री की जांच के बिना, असुरक्षित URL से कुछ डाउनलोड और इंस्टॉल करना कुछ खतरनाक है।
नेड डिली

7

मैक ओएस पर अपने अजगर को अपग्रेड करने के मामले में 10.7 और pkg_resources काम नहीं करता है, इसे ठीक करने का सबसे सरल तरीका सिर्फ सेटप्टूल को फिर से स्थापित करना है जैसा कि नेड ने ऊपर बताया है।

sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade

3

मेरे सिस्टम (OSX 10.6) पर वह पैकेज है

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py

मुझे आशा है कि यह पता लगाने में आपकी मदद करता है कि क्या यह गायब है या सिर्फ आपके रास्ते पर नहीं है।


1

इसका कारण यह हो सकता है क्योंकि IPython मॉड्यूल आपके PYTHONPATH में नहीं है।

यदि आप IPython को donwload करते हैं और फिर python setup.py स्थापित करते हैं

सेटअप आपके अजगर पथ में मॉड्यूल IPython को नहीं जोड़ता है। आप इसे अपने PYTHONPATH से मैन्युअल रूप से जोड़ना चाह सकते हैं। यह काम करने के बाद आपको करना चाहिए:

निर्यात PYTHONPATH = / pathtoIPython: $ PYTHONPATH

स्थायी बनाने के लिए इस लाइन को अपने .bashrc या .profile में जोड़ें।


0

मुझे लगता है कि यह OSX से संबंधित नहीं है, लेकिन एक एम्बेडेड सिस्टम (बीगल बोन एंगस्ट्रॉम) पर मेरे पास एक ही त्रुटि संदेश था। निम्नलिखित ipk संकुल को स्थापित करने से इसे हल किया गया।

opkg install python-setuptools
opkg install python-pip

0

मुझे यह त्रुटि उबंटू पर मिली , और निम्नलिखित ने मेरे लिए काम किया:

ड्रॉपबॉक्स बायनेरिज़ को हटा दिया और उन्हें फिर से डाउनलोड करें, चलाकर:

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

0

जब मैं ऑटोबान संबंधित परियोजना पर काम कर रहा हूं तो मुझे उसी समस्या का सामना करना पड़ा।

1) इसलिए मैं सेटपूलस-0.9.8.tar.gz फॉर्म https://pypi.python.org/packages/source/s/setuptools/ डाउनलोड करता हूं और इसे निकालता हूं ।

2) फिर मुझे pkg_resource मॉड्यूल मिलता है और इसे उस फ़ोल्डर में कॉपी करना चाहिए जहाँ इसकी आवश्यकता है। ** मेरे मामले में वह फ़ोल्डर C: \ Python27 \ Lib \ site-package \ autobahn था


0

मेरे मामले में, पैकेज python-pygmentsछूट गया था। आप इसे कमांड द्वारा ठीक कर सकते हैं:

sudo apt-get install python-pygments

अगर समस्या है pandoc। आप स्थापित करना चाहिए pandocऔर pandoc-citeproc

sudo apt-get install pandoc pandoc-citeproc

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.