पाइप को नवीनतम में अपग्रेड कैसे करें?


51

मैं get-pip.pyउस pip freezeत्रुटि के नीचे फेंकता के बाद पाइप का उपयोग कर स्थापित किया

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run
    req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 299, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

Storing debug log for failure in /home/simon/.pip/pip.log

इसलिए मैंने चेक किया 1.7 सबसे नवीनतम है। अगर मैंने नीचे दिए गए चरणों का पालन किया है और यह अपडेट नहीं हो रहा है ... मेरी मदद करें यहां ...

simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip install -U pip
Downloading/unpacking pip
  Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
Successfully installed pip
Cleaning up...
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)

1
sudo -H pip3 install --upgrade pip
मोल्दोवन '

जवाबों:


54

मैं आमतौर पर दोनों pip2(= pipडिफ़ॉल्ट रूप से) अपग्रेड करने के लिए निम्नलिखित कमांड चलाता हूं और pip3:

sudo -H pip3 install --upgrade pip
sudo -H pip2 install --upgrade pip

आपको यह सुनिश्चित करना होगा कि आप संस्करण को उन्नत करें (पायथन 2 या 3 के लिए), जिसे आप pipबिना नंबर के कमांड पर प्रतिक्रिया करना चाहते हैं , अंतिम।

कृपया यह भी ध्यान दें कि यह पुराने पैकेज्ड वर्जन को apt-getया किसी अन्य पैकेज मैनेजर के माध्यम से इंस्टॉल करता रहता है , लेकिन नए वर्जन को जोड़ता है, जिसका सिस्टम पैकेज से कोई लेना-देना नहीं है। pip-Installed संकुल को प्राथमिकता दी जाएगी, लेकिन आप को दूर नहीं करना चाहिए apt-getया तो -installed हैं, क्योंकि पैकेज प्रबंधक नहीं पता कर सकते हैं कि किसी भी pipसंस्करण अन्यथा स्थापित किया गया है।


3
घर में सेट करना क्यों महत्वपूर्ण है sudo -H?
लेओ लेपोल्ड हर्ट्ज़ '28

11
@ मासी क्योंकि pipअपनी डाउनलोड की गई फ़ाइलों को उन्हें कैश करने के लिए कहीं और लिखना चाहता है। इसे वर्तमान उपयोगकर्ता के होम डायरेक्टरी के सबफ़ोल्डर में रखने के लिए कार्यान्वित किया जाता है। यदि आप इसे बिना चला रहे हैं तो -Hयह शिकायत करेगा, क्योंकि यह पता लगाता है कि वर्तमान में सेट की गई होम डाइरेक्टरी (सामान्य उपयोगकर्ता) उस उपयोगकर्ता से मेल नहीं खाती है जो इसे (रूट) चलाता है। यदि इसने आपकी फ़ाइलों को अपनी होम डायरेक्टरी में लिखा है, तो वे रूट के स्वामित्व में होंगे और सामान्य उपयोगकर्ता के रूप में आपके लिए सुलभ नहीं होंगे। इसलिए यह इस मामले में फ़ाइलों को कैश नहीं करता है। यह भयावह नहीं है -Hक्योंकि pipयह इसका पता लगाता है और आपको चेतावनी देता है।
बाइट कमांडर

1
दोनों कमांड केवल pipकमांड को अधिलेखित क्यों करते हैं ? जब मैं अपग्रेड pip2करता हूं तो यह pip2कमांड को अपग्रेड नहीं करता , बस pip
Yep_It's_Me

@ Yep_It's_Me यह इसलिए है क्योंकि pipआपके द्वारा कॉल किए जा रहे अजगर के संस्करण के सापेक्ष। और यही कारण है कि उसकी आज्ञाएँ हैं pip2और pip3क्रमशः पाइप को अद्यतन करने के लिए अजगर के उपयुक्त संस्करण को बुलाते हैं। क्या इसका कोई मतलब है?
JayRizzo

27

मुझे लगता है

pip install --upgrade pip

कमांड ठीक से काम नहीं करता है। सही आदेश होना चाहिए:

  • पायथन 3 के लिए:

    python3 -m pip install --upgrade pip
  • अजगर 2 के लिए:

    python2 -m pip install --upgrade pip

Gg @ david-foerster
JayRizzo

लिनक्स पर, बस उपयोग करें pip install -U pip( अपग्रेड पाइप देखें )
Eido95

1
जड़ से पाइप को अपडेट करते समय मुझे समस्याएं हुईं (एक डॉकटर छवि में) और यह एक आकर्षण की तरह काम करता था।
क्रिस्टियन रेमन-कोर्ट्स

लिनक्स टकसाल पर एक आकर्षण की तरह काम किया
हैलो

5

इस वेबसाइट https://pypi.python.org/pypi/pip पर जाएं

स्रोत लिंक डाउनलोड करें (या) (.tar.gz पर समाप्त होता है)

9.0.1 के लिए लिंक https://pypi.python.org/pypi?:action=show_md5&digest=35f01da33009719497f01a4ba69d63c9 है

स्थापना प्रक्रिया

wget //link goes here
tar -xzvf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python3 setup.py install

संस्करण को नवीनतम संस्करण में बदला जाना चाहिए और लिंक को नवीनतम संस्करण के लिंक के साथ अद्यतन किया जा सकता है

यह काम करना चाहिए


यह केवल एक चीज है जो मेरे लिए काम करती है क्योंकि बाकी सब कुछ शेल से सर्वर से कनेक्शन की आवश्यकता है, जो फिर से उसी त्रुटि के साथ विफल हो जाता है।
आलोक राजसुकुमारन


1

मुझे लगता है कि यह उल्लेख है कि मैं क्या कर रहा हूँ नीचे समझा यदि आप उम्मीद है लायक है पिप अजगर 2 और को इंगित करने के pip3 पायथन 3. करने के लिए कारण मैं उल्लेख यह है कि जब आप pip3 उन्नयन, यह भी रूप में पिप आदेश अधिक लेता है क्योंकि बात करने के लिए कुंआ। यह कुछ हद तक अजीब सम्मेलन है क्योंकि डिफ़ॉल्ट अजगर 2.x को इंगित करता है और python3 अंक 3.x को। ऐसा कहे जाने के बाद...

यदि आप एक ही मशीन पर अजगर 2.x पाइप और अजगर 3.x pip3 सह-अस्तित्व के नवीनतम संस्करण चाहते हैं (3.x के लिए 2.x और pip3 के लिए पाइप का उपयोग करके), तो आपको निम्नलिखित करने की आवश्यकता है:

sudo apt-get install python-pip python3-pip --yes
sudo python3 -m pip install pip --upgrade --force
sudo python -m pip install pip --upgrade --force # this line associates pip with Python 2

दूसरों द्वारा प्रदान की अन्य उत्तर है कि उल्लेख करने के लिए चलाने के बाद असफल sudo pip3 पिप स्थापित --upgrade आप के साथ खत्म हो जाएगा पिप अजगर 2.x निर्देशिका के बजाय अजगर 3.x निर्देशिका में संकुल कमांड स्थापित करने।

मेरे हिस्से में लगता है कि हमें पाइप 3 को अपग्रेड करने के बाद भी पाइप छोड़ देना चाहिए (भले ही यह पाइप -> पाइप 3 हो), लेकिन वहाँ एक खतरा है कि लोगों को पहले से ही एक उम्मीद है कि पाइप अजगर की तरह कार्य करता है - दोनों ने अजगर x की ओर इशारा किया। दूसरे शब्दों में, लोगों को शायद अजगर के लिए पाइप / पायथन का उपयोग करने के लिए प्रशिक्षित किया जाता है 2.x वैसे ही जैसे उन्हें अजगर 3.x के लिए pip3 / python3 का उपयोग करने के लिए प्रशिक्षित किया जाता है ।


-1

मैं उसी त्रुटि का सामना करता हूं और इसे निम्नलिखित आदेशों के साथ हल करता हूं।

sudo su root
apt-get purge -y python-pip
wget https://bootstrap.pypa.io/get-pip.py
python ./get-pip.py
apt-get install python-pip

ImportError: पैकेजिंग नाम का कोई मॉड्यूल नहीं


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