मैं अपने वर्चुअल वातावरण के अंदर से पाइप को कैसे अपडेट करूं?


523

मैं पाइप-प्रबंधित पैकेजों को अपडेट करने में सक्षम हूं, लेकिन मैं स्वयं पाइप कैसे अपडेट करूं? के अनुसार pip --version, मैं वर्तमान पिप 1.1 मेरी virtualenv में स्थापित किया है और मैं नवीनतम संस्करण में अपडेट करना चाहते हैं।

उसके लिए क्या आज्ञा है? क्या मुझे वितरण का उपयोग करने की आवश्यकता है या कोई देशी पाइप या वर्चुअन कमांड है? मैंने पहले ही प्रयास किया है pip updateऔर pip update pipकोई सफलता नहीं मिली है।


40
pip install --upgrade pip? यह सिर्फ एक और PyPI पैकेज है।
केयर्नवोन

1
वह कमांड मुझे "/ Users / zak / MyProject / venv / bin / pip install: एरर: इस तरह का कोई विकल्प नहीं:
--update

4
यह , क्षमा --upgradeनहीं है --update। मैंने अपनी पोस्ट को तुरंत संपादित किया, लेकिन आपने इसे बिल्कुल गलत समय पर देखा होगा।
केयर्नवोन

2
@ Cairnarvon कमांड किसके लिए अलग है pip3? मैं pip3 के लिए कोशिश कर रहा हूँ, लेकिन यह मुझे बताता है कि यह इसे नहीं ढूंढ सकता है और फिर आगे बढ़ता है शिकायत करता है कि इसकी तारीख तक नहीं है ... जब यह मुझे अपडेट करने / अपग्रेड करने की भी अनुमति नहीं देता है!
चार्ली पार्कर

जवाबों:


929

pipकिसी भी अन्य की तरह सिर्फ एक PyPI पैकेज है ; आप इसे उसी तरह अपग्रेड करने के लिए उपयोग कर सकते हैं जिस तरह से आप किसी भी पैकेज को अपग्रेड करेंगे:

pip install --upgrade pip

विंडोज पर अनुशंसित कमांड है:

python -m pip install --upgrade pip

53
विंडोज के तहत मेरे पास पाइप का उपयोग करके पाइप को अपग्रेड करने का प्रयास करने की अनुमति जारी थी। इसके बजाय मैंने उन्नयन के लिए easy_install का इस्तेमाल किया:easy_install pip
bsa

8
जब मैंने इस पाइप को अपग्रेड (1.1 -> 1.4) किया था, लेकिन जब मैं "पाइप --version" करता हूं तो यह अभी भी पुराने संस्करण 1.1 को दिखा रहा है। Virtualenv को फिर से निष्क्रिय करने और सक्रिय करने की कोशिश की गई है लेकिन यह अभी भी पुराने संस्करण को दिखा रहा है।
ज़िट्राक्स

40
विंडोज़ पर संभवतः इस तरह से कमांड का उपयोग करना बेहतर है: python -m pip install --upgrade pipस्क्रिप्ट निर्देशिका से pip.exe चलाने से बचने के लिए।
बालिका

@Zitrax क्या आपने इस समस्या को हल किया है? मैं उसी समस्या का सामना कर रहा हूं।
मोहम्मद अली बैगशेरमिरानी

@Mohammadalibaghershemirani क्षमा करें यह कुछ समय पहले है - याद नहीं कर सकते।
ज़िट्रैक्स

58

एक अजगर मॉड्यूल हालांकि पाइप को चलाने के लिए अधिक सुरक्षित तरीका है :

python -m pip install -U pip

खिड़कियों पर बायनेरिज़ के साथ एक समस्या लगती है जो खुद को बदलने की कोशिश करती है, यह विधि उस सीमा के आसपास काम करती है।


9
यह अब वही है जो पाइप खुद की सिफारिश करता है, अगर वह खुद के एक नए संस्करण का पता लगाता है।
tephyr

1
मेरा मानना ​​है कि यह कारण सुरक्षित है क्योंकि कुछ OSes (विंडोज़) पर, बस सीधे पाइप चलाने से निष्पादन योग्य पर एक फ़ाइल लॉक बन सकता है, जो इसे अपडेट करने से रोक देगा। अजगर को फोन करके और मॉड्यूल को सीधे लोड करने के लिए कहकर, आप निष्पादन योग्य तक पहुंचने से बचते हैं।
jpmc26

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

42

मेरे मामले में मेरा पाइप संस्करण टूट गया था, इसलिए अपने आप से अपडेट काम नहीं करेगा।

ठीक कर:

(inside virtualenv):easy_install -U pip

1
यह मेरा मामला भी था। मैंने अन्य सभी तरीकों की कोशिश की, लेकिन केवल यही मेरी मदद करता है। धन्यवाद !
लेविफ

यहाँ भी, यह एकमात्र तरीका है जो डेबियन पर मेरे लिए काम करता है। वर्चुअन के भीतर से पाइप को अपग्रेड करने के लिए अजगर या पाइप का उपयोग करना विफल हो जाएगा क्योंकि इसने वेनव के बाहर बैठे मौजूदा पाइप को अनइंस्टॉल करने से इनकार कर दिया था।
user3748764

Download error on https://pypi.python.org/simple/pip/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!इसको चलाने से मुझे बहुत सारा सामान मिला, जिसमें शामिल नहीं था - रनिंग अपग्रेड। और यह संभावना है कि किसी भी पाइप पैकेज को स्थापित करने में विफलता क्यों हो रही है और पाइप के माध्यम से पाइप को अपग्रेड करना क्यों असफल हो रहा है, एसएसएल टूट गया है।
वाडोरक्वेस्ट

9

मैंने डेबियन जेसी के तहत उपरोक्त सभी समाधानों की कोशिश की। वे काम नहीं करते हैं, क्योंकि यह सिर्फ डेबियन पैकेज मैनेजर द्वारा नवीनतम संस्करण संकलित करता है जो 1.5.6 है जो संस्करण 6.0.xp के बराबर है। कुछ पैकेज जो पाइप को पूर्वापेक्षा के रूप में उपयोग करते हैं, वे परिणाम के रूप में काम नहीं करेंगे, जैसे कि स्पासी (जिसे सही ढंग से कार्य करने के लिए विकल्प -नो-कैश-डीआईआर की आवश्यकता है)।

तो इन समस्याओं को हल करने का वास्तविक सबसे अच्छा तरीका यह है कि वेबसाइट से, वेब से या कर्ल का उपयोग करके get-pip.py डाउनलोड करें:

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

यह वर्तमान संस्करण स्थापित करेगा जो इस समाधान को लिखने के समय 9.0.1 है जो डेबियन द्वारा प्रदान किए जाने से परे है।

 $ pip --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
 $ pip3 --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)

2
जब के लिए उपयोगी pip install --upgrade pipमें विफल रहा है
Aneuway

अगर मैं इस उत्तर को कुछ समय के लिए बढ़ा सकता हूं। यह सिर्फ एक समस्या को हल करता है जहां पाइप 9.x पाइप को 10.x पर अपडेट करके एक एसएसएल त्रुटि के साथ विफल हुआ है। देखें stackoverflow.com/questions/25981703/…
कीथ जॉन हचिसन

खैर, अगर आपने इसे एक बार भी उखाड़ दिया तो मुझे खुशी होगी। मेरे उत्तर आमतौर पर एक या दो घंटे के शिकार और वर्षों के अनुभव से मिलते हैं। मेरे सवालों के लिए एक ही नहीं कह सकते हैं? लोग वास्तव में मतलब हो सकता है! :)
Eamonn केनी

4

अपटेड पाइप समस्या के कारण हमेशा ' पाइप इंस्टॉल - अपग्रेड पाइप' का उपयोग करके अपग्रेडिंग पाइप काम नहीं करता है: ssl प्रमाणपत्र की पुष्टि करने में समस्या थी: [SSL: TLSV1_ALERT_PROTOCOL_VERSION: tlsv1 चेतावनी प्रोटोकॉल संस्करण

मुझे वर्चुअल एनवी के लिए वन लाइन कमांड का उपयोग करना पसंद है :

curl https://bootstrap.pypa.io/get-pip.py | python -

या यदि आप इसे बॉक्स में स्थापित करना चाहते हैं तो आपको आवश्यकता होगी

curl https://bootstrap.pypa.io/get-pip.py | sudo python -

यदि आप ऑटोमेशन स्क्रिप्ट में आउटपुट चालू करना चाहते हैं, तो आप कर्ल - ऑफ फ्लैग दे सकते हैं ।


1

मेरे मामले में यह डेबियन स्टेबल में टर्मिनल कमांड लाइन से काम करता है

python3 -m pip install --upgrade pip

1

मेरे लिए यह काम करने के लिए मुझे पायथन कमांड प्रॉम्प्ट (वीएस सीओडीई से विन 10 पर) का उपयोग करके पायथन निर्देशिका में ड्रिल करना पड़ा। मेरे मामले में यह मेरी "AppData \ Local \ Programs \ Python \ python35-32" निर्देशिका में था। वहां से अब मैंने कमांड चलाया ...

python -m pip install --upgrade pip

यह काम किया है और मैं जाने के लिए अच्छा हूँ।


1

प्रशासक अनुमतियों के साथ कमांड प्रॉम्प्ट खोलें, और कमांड दोहराएं:

python -m pip install --upgrade pip

4
क्या यह मौजूदा उत्तरों में से कुछ के समान नहीं है?
एचकेचेंग्रेक्स

यह है, लेकिन मैं इस मुद्दे को ले रहा था और यह तब हल हो गया जब मैंने एडमिन प्रिविलेज के साथ सीएमडी चलाया।
MRAMzan

1

पाइप संस्करण 10 में एक मुद्दा है। यह त्रुटि के रूप में प्रकट होगा:

ubuntu@mymachine-:~/mydir$ sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

समाधान वेव में होना है जिसे आप अपग्रेड करना चाहते हैं और फिर चलाना चाहते हैं:

sudo myvenv/bin/pip install --upgrade pip

इसके बजाय बस

sudo pip install --upgrade pip

1

यदि आप वेव का उपयोग कर रहे हैं तो कोई भी अपडेट पिवट के लिए स्थापित होगा, जिसके परिणामस्वरूप वेव पिप के बजाय सिस्टम पाइप को अपग्रेड किया जाएगा। आपको पाइप बूटस्ट्रैपिंग पैकेज को भी अपग्रेड करना होगा।

  python3 -m pip install --upgrade pip setuptools wheel

अजगर मेलिस्ट या पेपा पर कुछ समस्या थी। दुर्भाग्य से सभी दलों ने not my motorollerसमस्या के रूप में जिम्मेदारी को दूर कर दिया
dre-hh

0

मैंने C: \ Python \ Python36 में Python स्थापित किया था इसलिए मैं Windows कमांड प्रॉम्प्ट पर गया और सही निर्देशिका में जाने के लिए "cd C: \ Python \ Python36 टाइप किया। फिर" pyonon -m install --upgrad pip "में प्रवेश किया। अच्छा!


0

विंडोज 7 के साथ मेरे लैप-टॉप पर पाइप के नवीनतम संस्करण को स्थापित करने का सही तरीका है:

python.exe -m pip install --upgrade pip

0

सिंगल लाइन पायथन प्रोग्राम
मैंने जो सबसे अच्छा तरीका पाया है वह है सिंगल लाइन प्रोग्राम लिखना जो आधिकारिक गेट-पिप स्क्रिप्ट को डाउनलोड और चलाता है। कोड के लिए नीचे देखें।

आधिकारिक डॉक्स गेट-पिप स्क्रिप्ट डाउनलोड करने के लिए कर्ल का उपयोग करने की सलाह देते हैं, लेकिन चूंकि मैं विंडोज़ पर काम करता हूं और कर्ल स्थापित नहीं है इसलिए मैं स्क्रिप्ट डाउनलोड करने और चलाने के लिए अजगर का उपयोग करना पसंद करता हूं।

यहाँ एक पंक्ति प्रोग्राम है जिसे पायथन 3 का उपयोग करके कमांड लाइन के माध्यम से चलाया जा सकता है:

python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

इस लाइन को इंस्टॉलेशन नोट्स के अनुसार आधिकारिक "get-pip.py" स्क्रिप्ट मिलती है और स्क्रिप्ट को "एक्जीक्यूट " कमांड के साथ निष्पादित करता है।

पायथन 2 के लिए आप "urllib.request" को "urllib2" से बदल देंगे:

python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

सावधानियाँ
यह ध्यान देने योग्य है कि किसी भी पाइथन स्क्रिप्ट को आँख बंद करके चलाना खतरनाक है। इस कारण से, आधिकारिक निर्देश स्क्रिप्ट को डाउनलोड करने और चलाने से पहले उसका निरीक्षण करने की सलाह देते हैं।

उस ने कहा, कई लोग वास्तव में कोड का निरीक्षण नहीं करते हैं और इसे चलाते हैं। यह एक-लाइन कार्यक्रम आसान बनाता है।


0

मुझे एक रास्पबेरी पाई पर इसी तरह की समस्या थी।

समस्या यह थी कि http को SSL की आवश्यकता है और इसलिए मुझे इस आवश्यकता के आसपास https प्राप्त करने के लिए इसे उपयोग करने के लिए मजबूर करना पड़ा।

sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple

या

sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/

0

मैं एक समान स्थिति में था और urllib3 पैकेज को अपडेट करना चाहता था। मेरे लिए क्या काम था:

pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3

-2

बहुत आसान। बस https://bootstrap.pypa.io/get-pip.py से पाइप डाउनलोड करें । फ़ाइल को किसी बड़े या dekstop में सहेजें। मैंने अपने D ड्राइव में फ़ाइल को सहेजा है। आपके कमांड प्रॉम्प्ट से उस फ़ोल्डर में नेविगेट करें जहाँ आपने पाइप डाउनलोड किया है। फिर वहां टाइप करें

python -get-pip.py

पिप स्थापना स्क्रीनशॉट

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