Pkg_resources नाम का कोई मॉड्यूल नहीं


452

मैं एक देव सर्वर के लिए एक Django एप्लिकेशन को तैनात कर रहा हूं और जब मैं चलाता हूं तो इस त्रुटि को मार रहा हूं pip install -r requirements.txt:

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resourcesके साथ वितरित किया गया प्रतीत होता है setuptools। प्रारंभ में मैंने सोचा था कि यह virtualenv में पायथन में स्थापित नहीं किया जा सकता है, इसलिए मैंने setuptools 2.6निम्नलिखित कमांड के साथ virtualenv में Python साइट-पैकेज में Python साइट-पैकेज के रूप में स्थापित किया है:

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

EDIT: यह केवल virtualenv के अंदर होता है। अगर मैं virtualenv के बाहर एक कंसोल खोलता हूं pkg_resources, तो मौजूद है, लेकिन मुझे अभी भी वही त्रुटि मिल रही है।

कोई भी विचार क्यों pkg_resourcesपथ पर नहीं है?


Nltk स्थापित करते समय, एक ही समस्या होती है। अच्छा प्रश्न और सहायक उत्तर
laike9m

4
pip uninstall -y setuptoolsऔर फिर pip install setuptools==39.1.0विंडोज 10 पर एनाकोंडा पर मेरे लिए काम किया
रयान

1
@ रयान ने मेरे लिए उबंटू में 16.04 पर काम किया, धन्यवाद सर!
इलेक्ट्रोकॉनिक

जवाबों:


634

जुलाई 2018 अपडेट

अधिकांश लोगों को अब pip install setuptools(संभवतः के साथ sudo) का उपयोग करना चाहिए ।

कुछ python-setuptoolsको अपने पैकेज मैनेजर ( apt-get installऔर yum install, आदि) के माध्यम से पैकेज को फिर से स्थापित करने की आवश्यकता हो सकती है ।

यह समस्या आपके OS और देव परिवेश पर अत्यधिक निर्भर हो सकती है। नीचे दी गई विरासत / अन्य उत्तर देखें यदि उपरोक्त आपके लिए काम नहीं कर रहा है।

व्याख्या

यह त्रुटि संदेश गुम / टूटे हुए पायथन setuptoolsपैकेज के कारण होता है । प्रति मैट एम की टिप्पणी और सेटपूल के अंक # 581 , नीचे उल्लिखित बूटस्ट्रैप स्क्रिप्ट अब अनुशंसित संस्थापन विधि नहीं है।

बूटस्ट्रैप स्क्रिप्ट निर्देश नीचे रहेगा, यदि यह अभी भी किसी के लिए उपयोगी है।

विरासत उत्तर

ImportErrorपाइप का उपयोग करने की कोशिश करते हुए आज मुझे वही सामना करना पड़ा । किसी तरह setuptoolsमेरे पायथन वातावरण में पैकेज को हटा दिया गया था।

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

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

(या यदि आपने wgetस्थापित नहीं किया है (उदाहरण के लिए OS X), तो कोशिश करें

curl https://bootstrap.pypa.io/ez_setup.py | python

संभवतः sudoप्रीपेंड के साथ ।)

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

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


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


42
एक स्थानीय कमांड को पाइपिंग कर्ल हमेशा मुझे डराता है, लेकिन यह बहुत अच्छा काम करता है। :) मैं sudo pythonहालांकि YMMV चला था ।
निक रीमन

4
साइग्विन के तहत मुझे अजगर-सेटपूल के पैकेज को स्थापित करना था । यह मिल गया easy_install फिर से काम है, जो एक ही समस्या का सामना करना पड़ा था। तब मुझे easy_install pipफिर से पाइप का काम मिलता था। मेरी समस्या कुछ असंबंधित स्थापित करते समय मेरी पीठ के पीछे 2.6 से 2.7 तक अजगर को अपग्रेड करने से सिग्विन से उत्पन्न हुई।
स्टीव पिचर्स

5
यह पिछले साल सबसे अच्छा जवाब था ... लेकिन 2013 के मध्य में, distributeअप्रचलित है, और setuptoolsइसके उत्तराधिकारी हैं। मैं इसे अपडेट करने के लिए उत्तर को संपादित करूंगा, लेकिन मुझे यकीन नहीं है कि इसे संभालने का सबसे अच्छा तरीका है, इसलिए कोई व्यक्ति उस मामले में संपादन को वापस कर सकता है: यहां जाएं ।
abarnert

1
इस URL ने मेरे लिए काम नहीं किया, लेकिन इसने एक काम किया: पीक .telecommunity.com
dist

1
@ कैरिन: यदि आप कहते हैं कि जब आपने कोशिश की तो यह हर किसी के लिए अधिक उपयोगी होगा। और क्या आपने उपयोग किया sudo, जैसा कि @Nik ने ऊपर उल्लेख किया है?
माइकल शेपर

125
sudo apt-get install --reinstall python-pkg-resources

यह मेरे लिए डेबियन में तय किया। कुछ .deb पैकेजों को अनइंस्टॉल करने जैसा लगता है (मेरे मामले में ट्विस्टेड सेट) ने पैकेज खोजने के लिए पथ का उपयोग करने वाले पथ को तोड़ दिया है


10
मैं पायथन 3 का उपयोग कर रहा हूं, इसलिए मुझे sudo apt-get install --reinstall python3-pkg-resource चलाना पड़ा और उसने इसे ठीक किया। धन्यवाद!
रॉबर्ट टाउनले

yapf के साथ मदद नहीं की मुझे लगता है, python3 / python2 के साथ कुछ करने के लिए
डॉन उज्ज्वल

53

मैंने इस त्रुटि को ubuntu 13.10 पर एक virtualenv को rhodecode स्थापित करने का प्रयास करते हुए देखा है। मेरे लिए हल चलाना था

pip install --upgrade setuptools
pip install --upgrade distribute 

इससे पहले कि मैं easy_install rhod timecode चलाते हैं।


12
pip install --upgrade setuptoolsअकेले ही मेरे लिए चाल चली।
रयान टक

मुझे जरूरत हैpip install --upgrade setuptools --user
dfrankow

5
मैं pip install --upgrade setuptoolsएक ही त्रुटि के कारण नहीं चल सकता :No module named pkg_resources
McLawrence

1
pip install --upgrade distributeपायथन 3 के वेनव मॉड्यूल का उपयोग करते समय काम किया। पायथन 2 के वर्चुअनवेड समर्थित --distributeझंडे, लेकिन किसी को इसके distributeद्वारा निर्मित वातावरण पर स्थापित करना होगा venv
निर्मल

34

यह मेरे साथ भी हुआ। मुझे लगता है कि अगर प्रॉफिट.टेक्स्ट में "डिस्ट्रीब्यूट" एंट्री होती है, तो यह समस्या होगी, जबकि वर्चुअनल सेटपूल का उपयोग करता है। पिप सेटअप करने के लिए जगह बनाने के लिए सेटपूल को पैच करने की कोशिश करेगा, लेकिन दुर्भाग्य से यह आधे रास्ते में विफल हो जाएगा।

आसान समाधान आपके वर्तमान वर्चुअन को हटा देता है फिर --dवादार तर्क के साथ एक नया वर्चुअनव बनाता है।

Virtualenvwrapper का उपयोग करने पर एक उदाहरण:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt

2
इसने मेरी मदद की जब अन्य समाधानों में से किसी ने भी (Ubuntu 16.04 का उपयोग नहीं किया)
MIkee

पायथन 3 के वेनव मॉड्यूल द्वारा निर्मित वातावरण के लिए, पर्यावरण pip install -U distributeको सक्रिय करने के बाद काम करना होगा।
निर्मल

17

CentOS 6 में पैकेज पाइथन-सेप्टूपूल को स्थापित करने से इसे ठीक किया गया।

yum install python-setuptools

यह डेबियन में काम करता है यदि आप "यम" की जगह "सूडो एप्ट-गेट" लेते हैं। इसके अलावा: sudo apt-get install python3-setuptools
ग्रिडट्रैक

यह वही है जिसने मेरे लिए किया।
ताओ स्टारबो

मुझे सेंटोस 7 पर यह समस्या थी, और अजगर-सेटप्टूल पहले ही स्थापित थे, लेकिन sudo yum reinstall python-setuptoolsइसे ठीक कर दिया।
कोसलेयर

CentOS.org बगs.centos.org/view.php?id=14042 पर बग की सूचना दी
rjt

14

मेरे पास यह त्रुटि पहले थी और उच्चतम श्रेणी के उत्तर ने मुझे ez_setup.pyफ़ाइल डाउनलोड करने की कोशिश में एक त्रुटि दी । मुझे एक और स्रोत मिला जिससे आप कमांड चला सकते हैं:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

मैंने पाया कि मुझे sudoइसे काम करने के लिए भी उपयोग करना था , इसलिए आपको इसे चलाने की आवश्यकता हो सकती है:

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

मैंने एक और स्थान भी बनाया है जिसे स्क्रिप्ट से डाउनलोड किया जा सकता है:

https://gist.github.com/ajtrichards/42e73562a89edb1039f3


"कर्ल" कमांड को sudo की आवश्यकता नहीं होगी, इसलिए यह हो सकता है:curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
tombrown52

1
इस उत्तर ने मुझे "| सुडो पायथन" के साथ बचाया, क्योंकि "" अजगर "अकेले काम नहीं करता था!" धन्यवाद
patti_jane

14

इनमें से कई उत्तरों को आजमाने के बाद, फिर एक सहयोगी के पास पहुँचकर, मेरे लिए उबंटू में 16.04 पर काम किया।

pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip

मेरे मामले में, यह केवल 3.1.1 तकिया का एक पुराना संस्करण था जो परेशानी में था (तकिया 4.x ने ठीक काम किया), और अब यह हल हो गया है!


8

थोड़ा और सुडोल चाहिए। फिर पाइप स्थापित करने के लिए easy_install का उपयोग किया। काम करता है।

sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip

1
sudoएक virtualenv में आवश्यक नहीं होना चाहिए
प्रज्वलित

सच है, मैं सिर्फ एक virtualenv के बिना एक ही मुद्दा था।
टारियन

5

मैंने ऐसा करके virtualenv के साथ त्रुटि को ठीक किया:

से pkg_resources.py को कॉपी किया गया

/Library/Python/2.7/site-packages/setuptools

सेवा

/Library/Python/2.7/site-packages/

यह एक सस्ता समाधान हो सकता है, लेकिन यह मेरे लिए काम करता है।

यदि सेटअप टूल मौजूद नहीं है, तो आप virtualenv --system-site-packages /DESTINATION DIRECTORYजिस सिस्टम को इंस्टॉल करना चाहते हैं, उसके अंतिम भाग को बदलकर, सिस्टम-साइट-पैकेज स्थापित करने का प्रयास कर सकते हैं। pkg_rousources.pyलिब / python2.7 / साइट-संकुल में उस निर्देशिका के अंतर्गत होगा


हाँ कुछ परियोजनाओं में, यह समाधान सबसे अच्छा है (मेरे लिए)
nguyên

3

मेरे लिए, यह त्रुटि इसलिए हो रही थी क्योंकि मेरे पास "साइट" नामक एक उपनिर्देशिका थी! मुझे नहीं पता कि यह एक पाइप बग है या नहीं, लेकिन मैंने इसके साथ शुरू किया:

/some/dir/requirements.txt / some / dir / साइट /

पाइप इंस्टाल -r आवश्यकताएँ। यह काम नहीं करेगा, मुझे उपरोक्त त्रुटि दे रहा है!

"साइट" से "src" तक सबफ़ोल्डर का नाम बदलने से समस्या ठीक हो गई! शायद पाइप "साइट-पैकेज" की तलाश में है? पागल।


2

मुझे यह समस्या तब हुई जब मैंने अपने virtualenv को एक अलग उपयोगकर्ता के रूप में सक्रिय किया, जिसने इसे बनाया था। यह एक अनुमति समस्या प्रतीत होती है। मुझे इसका पता तब चला जब मैंने @cwc द्वारा उत्तर की कोशिश की और इसे आउटपुट में देखा:

Installing easy_install script to /path/env/bin
error: /path/env/bin/easy_install: Permission denied

Virtualenv को बनाने वाले उपयोगकर्ता पर वापस स्विच करना, फिर मूल pip installकमांड चलाना समस्याओं के बिना चला गया। उम्मीद है की यह मदद करेगा!


2

मुझे आज भी यह समस्या थी। मुझे केवल वर्चुअल एनवी के अंदर समस्या मिली।

मेरे लिए समाधान आभासी env को निष्क्रिय कर रहा था, हटा रहा था और फिर virtualenv को पाइप के साथ अनइंस्टॉल कर रहा था और इसे पुनः इंस्टॉल कर रहा था। उसके बाद मैंने अपनी परियोजना के लिए एक नया वर्चुअल एनवी बनाया, फिर सामान्य वातावरण की तरह वर्चुअल वातावरण के अंदर दोनों में ठीक काम किया।


2

ऐसा लगता है कि वे बिटकॉइन से दूर चले गए हैं और अब जीथब पर हैं ( https://github.com/pypa/newspools )

चलाने के लिए आदेश है:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

फ़ाइल "/python/Python-3.5.1/Lib/urllib/request.py", लाइन 162, urlopen रिटर्न ओपनर में। (url, data, timeout) फ़ाइल "/python_Python-3.5.1/Lib/urllib /request.py ", पंक्ति 465, ओपन फाइल में" /python/Python-3.5.1/Lib/urllib/request.py ", पंक्ति 488, में _open 'अज्ञात_पेन', req: फ़ाइल" /python/Python-3.5 .1 / Lib / urllib / request.py ", लाइन 443, _call_chain result = func (* args) फ़ाइल" /python/Python-3.5.1//Lib/urllib/reestest.py ", पंक्ति 1310, में अनजान_प्रोप उठायें URLError ('अज्ञात url प्रकार:% s'% प्रकार) urllib.error.URLError: <urlopen त्रुटि अज्ञात url प्रकार: https>
JDOaktown

2

मेरे लिए, यह एक अनुमति समस्या पर निकला site-packages। चूंकि यह केवल मेरा देव वातावरण है, मैंने अनुमतियाँ बढ़ाईं और सब कुछ फिर से काम कर रहा है:

sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/

2

यदि आप इस मुद्दे को conda के माध्यम से स्थापित अनुप्रयोग के साथ सामना कर रहे हैं , तो समाधान (जैसा कि इस बग रिपोर्ट में बताया गया है ) बस सेटअप-टूल्स स्थापित करने के लिए है:

conda install setuptools

2

विंडोज पर, अजगर 3.7 के साथ, इसने मेरे लिए काम किया:

pip install --upgrade setuptools --user

--user अपने घर निर्देशिका में संकुल स्थापित करता है, जिसमें व्यवस्थापक विशेषाधिकारों की आवश्यकता नहीं होती है।


2

सरल समाधान यह है कि आप सेटपूल या पूरे वातावरण को उन्नत करने के लिए कोंडा का उपयोग कर सकते हैं। (विशेष रूप से विंडोज़ उपयोगकर्ता के लिए।)

conda upgrade -c anaconda setuptools

यदि सेप्टुपूल को हटा दिया जाता है, तो आपको फिर से सेटटॉपटूल स्थापित करने की आवश्यकता होती है।

conda install -c anaconda setuptools

यदि ये सभी मेथोड काम नहीं करते हैं, तो आप कोंडा एनवायरनमेंट को अपग्रेड कर सकते हैं। लेकिन मैं अनुशंसा नहीं करता कि आपको कुछ पैकेजों को फिर से स्थापित करने और अनइंस्टॉल करने की आवश्यकता है क्योंकि इसके बाद यह स्थिति को बढ़ा देगा।


1

जाहिरा तौर पर आप सेप्टपूल गायब कर रहे हैं। कुछ virtualenv संस्करण डिफ़ॉल्ट रूप से सेटप्टूल के बजाय वितरित का उपयोग करते हैं। --setuptoolsVirtualenv बनाते समय विकल्प का उपयोग करें या VIRTUALENV_SETUPTOOLS=1अपने वातावरण में सेट करें ।


1

मेरे मामले में, मेरे पास शुरुआत में 2 अजगर संस्करण स्थापित थे और बाद में मैंने पुराने को हटा दिया था। इसलिए वर्चुअल माहौल बनाते हुए

virtualenv venv

अनइंस्टॉल किए गए अजगर की बात कर रहा था

मेरे लिए क्या काम किया

python3 -m virtualenv venv

जब आप पाइप का उपयोग करने की कोशिश कर रहे हैं तो यह सच है।


0

मुझे यह जवाब तब मिला जब मैं OSX के लिए इस गाइड का पालन करने की कोशिश कर रहा था । मेरे लिए जो काम किया गया था, उसे चलाने के बाद python get-pip, मुझे ALSO करना पड़ा easy_install pip। इसने पाइप को पूरी तरह से चलाने में सक्षम नहीं होने का मुद्दा तय किया। मैं किया था वर्ष macport सामान स्थापित का एक समूह है। जिससे विवाद हो सकता है।


0

खिड़कियों पर, मैंने www.lfd.uci.edu/~gohlke/pythonlibs/ से डाउनलोड की गई पाइप स्थापित की, फिर इस समस्या को लागू किया।

इसलिए मुझे पहले सेटपूल (easy_install) स्थापित करना चाहिए था।


0

बस अपने setuptoolsद्वारा पुनः स्थापित करें :

$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools

तब सब ठीक हो जाएगा।


0

मैं सेंटोस 6.7 का उपयोग करता हूं, और मेरा अजगर सिर्फ 2.6.6 से 2.7.11 तक अपग्रेड किया गया था, इतने सारे अलग-अलग जवाबों की कोशिश करने के बाद, आखिरकार निम्नलिखित काम करता है:

sudo yum install python-devel

आशा है कि उसी स्थिति में किसी की मदद करें।


0

पोस्ट किए गए उत्तरों में से किसी ने भी मेरे लिए काम नहीं किया, इसलिए मैंने पाइप को फिर से स्थापित किया और यह काम किया!

sudo apt-get install python-setuptools python-dev build-essential 

sudo easy_install pip 

pip install --upgrade setuptools

(संदर्भ: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )


ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल "/ usr / bin / easy_install", पंक्ति 5, में <मॉड्यूल> से pkg_resource से load_entry_point आयात आयात: कोई भी मॉड्यूल जिसका नाम 'pkg_resources
JDOaktown

मालिक-आयाम -३००० के मालिक # sudo easy_install pip Traceback (सबसे हालिया कॉल अंतिम): फ़ाइल "/ usr / bin / easy_install", पंक्ति ५, में <मॉड्यूल> से pkg_resource से आयात load_entry_site आयातError: 'pkg_resources' मालिक-आयाम नाम का कोई मॉड्यूल नहीं -3000 के मालिक # पाइप इंस्टॉल - अपग्रेडेड सेटपूल ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल "/ usr / बिन / पाइप", लाइन 5, में <मॉड्यूल> से pkg_resource से आयात load_entry_point ImportError - 'pkg_resources' मालिक-आयाम नाम का कोई मॉड्यूल नहीं -3000 के मालिक #
JDOaktown

क्या आपने पहले स्थापित पाइप संस्करण को हटा दिया था?
user13107

0

मैं अपने Ubuntu बिल्ड को अपडेट करने के बाद इस समस्या में भाग गया। ऐसा लगता है कि मेरे सभी आभासी वातावरणों में सेट अप टूल्स को हटा दिया गया है।

इसे मापने के लिए मैंने वर्चुअल वातावरण को वापस टार्गेट डायरेक्टरी में पुनः इंस्टॉल किया। इसने लापता सेटअप टूल को साफ किया और चीजों को फिर से चालू किया।

उदाहरण के लिए:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir

0

मेरे लिए एक अच्छा फिक्स --no-downloadवर्चुअनव (विषाक्त के VIRTUALENV_NO_DOWNLOAD=1 toxलिए) विकल्प का उपयोग करना था ।



0

ImportError: pkg_resources नाम का कोई मॉड्यूल नहीं: समाधान निम्नलिखित कमांड का उपयोग करके अजगर पाइप को फिर से स्थापित करने के लिए है।

स्टेप: 1 रूट यूजर में लॉगइन करें।

sudo su root

चरण: 2 मौजूदा होने पर अजगर-पाइप पैकेज की स्थापना रद्द करें।

apt-get purge -y python-pip

चरण: 3 wget कमांड (फाइल डाउनलोड इन pwd) का उपयोग करके फ़ाइलें डाउनलोड करें

wget https://bootstrap.pypa.io/get-pip.py

चरण: 4 अजगर फ़ाइल चलाएँ।

python ./get-pip.py

चरण: 5 अंतिम एक्सिक्यूट इंस्टॉलेशन कमांड।

apt-get install python-pip

नोट: उपयोगकर्ता को मूल होना चाहिए।


0

मैंने अपने Google App Engine वातावरण में उस त्रुटि का अनुभव किया। और pip install -t lib setuptoolsमुद्दा तय किया।


0

यदि आप पायथन 3 का उपयोग कर रहे हैं, तो आपको पाइप के बजाय pip3 का उपयोग करना चाहिए। कमांड जैसा दिखता है$ pip3 install requirements.txt

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