पाइप टूट गया। वितरण को कैसे ठीक करें त्रुटि त्रुटि?


146

जब भी मैं पाइप का उपयोग करने की कोशिश करता हूं मुझे एक त्रुटि मिलती है। परीक्षा के लिए:

$ sudo pip install gevent-websocket

Traceback (most recent call last):  
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in <module>
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.8.1

मुझे पिप == 0.8.2 में मान बदलने का प्रलोभन महसूस हो रहा है .. लेकिन मुझे अपनी स्थापना के 'हैकिंग' के परिणामों से निपटने में कोई दिक्कत नहीं है ... मैं अजगर 2.7 चला रहा हूं और पाइप 0.8.2 संस्करण में है।


बहुत दर्द अगर यहाँ। सरल सामान्य समाधान यह है कि स्थापित पाइप को https://bootstrap.pypa.io/get-pip.py से डाउनलोड करें और फिर उस फ़ाइल को चलाएं (अजगर का उपयोग करके)। अन्य फ़िक्सेस बहुत सिस्टम पर निर्भर हैं और आम तौर पर गड़बड़ हैं और नीचे दिए गए सुझाव अक्सर काम नहीं करते हैं (सिस्टम के दो अलग-अलग बच्चों पर मेरे अनुभव के आधार पर)
ग्रेग डीपी

जवाबों:


253

मुझे अपने मैकबुक में यह समस्या मिलती है, इसका कारण यह है क्योंकि @Stephan ने कहा, मैं easy_install पाइप को स्थापित करने के लिए उपयोग करता हूं , और दोनों पी पैकेज के मिश्रण से समस्या का कारण बनता pkg_resources.DistributionNotFoundहै। संकल्प है:

easy_install --upgrade pip

याद रखें: अपने Py पैकेज को प्रबंधित करने के लिए बस उपरोक्त टूल में से किसी एक का उपयोग करें।


55
हा यह सिर्फ मुझे त्रुटि देता है:pkg_resources.DistributionNotFound: distribute==0.6.36
टिम्मम्म

2
Mac OS X 10.9 पर भी बेहतरीन काम करता है। धन्यवाद!
एंटोन बबेंको

2
आपको लग सकता है कि a) आपको sudo easy_install --upgrade pip और b) की आवश्यकता है, तो आप तब पाइप के बारे में त्रुटियां प्राप्त कर सकते हैं जब आप पाइप का उपयोग करते हैं। इस बिंदु पर इसे देखें: stackoverflow.com/questions/20905350/…
मचिकोगो

@PiotrDobrogost मैं एक तरह से असहमत हूं - आपने जो लेख जोड़ा है, वह virtualenv का उपयोग करने के बारे में है अन्यथा आपके पास एक bazillion पैकेज है और अनुप्रयोगों के बीच प्रदर्शन और विरोध हो सकता है - इस उदाहरण में, हम virtualenv का उपयोग करना चाहते हैं । हालाँकि, virtualenv को स्थापित करने के लिए, आप इसे सभी के लिए विश्व स्तर पर स्थापित करना चाहते हैं, और इसलिए, sudo easyinstall। virtualenv स्थापना के लिए । जो virtualenv को वास्तव में काम करने की अनुमति देता है, इसलिए मैन्युअल रूप से किए बिना वर्चुअल env कैसे स्थापित करें (और इसलिए बनाए रखना मुश्किल है) स्थापना।
मचिगागो

1
मिल गया .. 'sudo easy_install3 --upgrad पाइप' ने इसे बनाया
pavan

31

मैंने 0.8.2 में / usr / लोकल / बिन / पाइप में 0.8.1 को बदल दिया और सब कुछ फिर से काम किया।

__requires__ = 'pip==0.8.2'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip==0.8.2', 'console_scripts', 'pip')()
    )

मैंने easy_install के माध्यम से पाइप स्थापित किया जो शायद मुझे इस सिरदर्द का कारण बना। मुझे लगता है कि आजकल आपको यह कैसे करना चाहिए ..

$ sudo apt-get install python-pip python-dev build-essential 
$ sudo pip install --upgrade pip 
$ sudo pip install --upgrade virtualenv

13
मैं हमेशा ओएस पैकेज प्रबंधकों का उपयोग करके शुद्ध अजगर पैकेज स्थापित करने से बचने की कोशिश करता हूं - और मैं आपको ऐसा करने की सलाह देता हूं। उबंटू / डेबियन ने एक बार सेटप्टूलस पैकेज को तोड़ दिया और इसने कुछ सिरदर्द पैदा कर दिए क्योंकि लोग पाइप का उपयोग करके पैकेज को अनइंस्टॉल नहीं कर सकते थे (उनके परिवर्तनों के कारण)।
ह्यूगो तवरेज

उपयुक्त या यम का उपयोग करना पर्याप्त नहीं है! इस पृष्ठ पर रणनीतियाँ स्थानीय विकास के लिए पर्याप्त हैं, लेकिन कृपया कृपया तैनाती के लिए ऐसा न करें।
केन

यहाँ उसी समय, पाइप ने 1.3.1 पर अपग्रेड करते समय खुद को मार डाला। मैक ने
पाइप का जिक्र किया

@PiotrDobrogost ऊपर टिप्पणी देखें - काम करने के लिए virtualenv प्राप्त करने के लिए इस उदाहरण में इसकी जरूरत है।
मचीकोगो

27

मेरे पास यह मुद्दा था जब मैं होमब्रे का उपयोग कर रहा था। यहाँ से अंक # 26900 का समाधान है

python -m pip install --upgrade --force pip

यह कोशिश करना मददगार हो सकता है कि दोनों - ऑसर विकल्प के साथ और बिना (बाद वाले सूडो की आवश्यकता)।
रे

11

गेट-पिप स्क्रिप्ट के साथ पुन: स्थापित करने का प्रयास करें:

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

यह पाइप गिथब पृष्ठ से लिया गया है, और मेरे लिए काम करता है।


7

यदि आप CentOS पर हैं, तो सुनिश्चित करें कि आपके पास YUM पैकेज "python-setuptools" स्थापित है

yum install python-setuptools

इसे मेरे लिए तय किया।


6

समस्या की जड़ अक्सर bin(लिनक्स) या Scripts(विंडोज) उपनिर्देशिका में पुरानी स्क्रिप्ट हैं । मैं इसका उपयोग करते हुए समझाता हूँ कि मैंने अपने आप को एक उदाहरण के रूप में सामना किया।

मैंने अपने उपयोगकर्ता साइट-पैकेजों में वर्चुअन संस्करण 1.10 स्थापित किया था (तथ्य यह है कि यह उपयोगकर्ता साइट-पैकेज में है साइट साइट-पैकेज नहीं अप्रासंगिक है)

pdobrogost@host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@host:~$ virtualenv --version
1.10

संस्करण १.११ में अपग्रेड करने के बाद मुझे निम्न त्रुटि मिली:

pdobrogost@host:~$ virtualenv --version  
Traceback (most recent call last):   
  File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in <module>
    from pkg_resources import load_entry_point   
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2701, in <module>
    return self.__dep_map   
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 572, in resolve
    if insert: 
pkg_resources.DistributionNotFound: virtualenv==1.10

/home/users/pdobrogost/.local/bin/virtualenvत्रुटि संदेश में उल्लिखित फ़ाइल इस तरह दिखती है:

#!/opt/python/2.7.5/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')()
    ) 

वहां, हम देखते हैं कि virtualenvस्क्रिप्ट को अपडेट नहीं किया गया था और अभी भी वर्चुअलाइजेशन के पहले स्थापित संस्करण 1.10 की आवश्यकता है।
अब, virtualenv को इस तरह पुनः इंस्टॉल करना

pdobrogost@host:~$ pip install --user --upgrade virtualenv
Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c
  Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...

मदद नहीं करता है (न ही pip install --user --upgrade --force-reinstall virtualenv) क्योंकि स्क्रिप्ट /home/users/pdobrogost/.local/bin/virtualenvको अपरिवर्तित छोड़ दिया गया है।

जिस तरह से मैं इसे ठीक कर सकता था वह मैन्युअल रूप से virtualenv * स्क्रिप्ट को /home/users/pdobrogost/.local/bin/फ़ोल्डर से हटाने और फिर से virtualenv को स्थापित करने से था। इसके बाद, नव सृजित स्क्रिप्ट पैकेज के उचित संस्करण का उल्लेख करती हैं:

pdobrogost@host:~$ virtualenv --version
1.11

6

मैं इसे इस तरह हल करने में सक्षम था:

$ brew update
$ brew doctor
$ brew uninstall python
$ brew install python --build-from-source    # took ~5 mins
$ python --version                           # => Python 2.7.9
$ pip install --upgrade pip

मैं w / निम्नलिखित सामान (जनवरी २, २०१५ के अनुसार) चला रहा हूँ:

OS X Yosemite
Version 10.10.1

$ brew -v
Homebrew 0.9.5

$ python --version
Python 2.7.9

$ ipython --version
2.2.0

$ pip --version
pip 6.0.3 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.3-py2.7.egg (python 2.7)

$ which pip
/usr/local/bin/pip

5

मैं OSx में इसी तरह की समस्या का सामना कर रहा था। मेरा स्टैकट्रेस कह रहा था

raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: setuptools>=11.3

फिर मैंने निम्नलिखित किया

sudo pip install --upgrade setuptools

इससे मेरे लिए समस्या हल हो गई। आशा है कि किसी को यह उपयोगी लगेगा।


1
यह विंडोज 10 पर मेरा मुद्दा तय किया
मार्क एलन

1
इसने हमारे लिए CentOS 6.
डेन फिलिमोर

2

मैक ओएस एक्स (एमबीपी) पर, निम्नलिखित (यहां पाया गया एक अन्य उत्तर से लिया गया) ने मेरे मुद्दों को हल किया:

C02L257NDV33:~ jjohnson$ brew install pip
Error: No available formula for pip
Homebrew provides pip via: `brew install python`. However you will then
have two Pythons installed on your Mac, so alternatively you can:
    sudo easy_install pip
C02L257NDV33:~ jjohnson$ sudo easy_install pip

स्पष्ट रूप से यहाँ मूल कारण एक माध्यमिक विधि है जिसके द्वारा अजगर स्थापित करना है (मेरे मामले में Homebrew)। उम्मीद है, पाइप स्क्रिप्ट के लिए जिम्मेदार लोग स्टैक ओवरफ्लो पर पहली बार रिपोर्ट किए जाने के 2 साल बाद भी इस मुद्दे को माप सकते हैं।


1

मुझे यह समस्या थी क्योंकि मैंने एक अजीब से अजगर / पाइप स्थापित ~/.pydistutils.cfgकिया था जिसे मुझे लिखना याद नहीं था। इसे हटा दिया गया, पुनः इंस्टॉल किया गया (साथ pybrew), और सब कुछ ठीक था।


1

मेरे मामले में (सैम समस्या, लेकिन अन्य पैकेज) कोई संस्करण निर्भरता नहीं थी। पाइप अनइंस्टॉल और पाइप इंसटाल के अनुक्रम ने मदद की।

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