खोज…


परिचय

पाइथन पैकेज इंडेक्स के लिए पाइप सबसे व्यापक रूप से इस्तेमाल किया जाने वाला पैकेज मैनेजर है, जिसे पायथन के हाल के संस्करणों के साथ डिफ़ॉल्ट रूप से स्थापित किया गया है।

वाक्य - विन्यास

  • पाइप <कमांड> [विकल्प] जहां <कमांड> इनमें से एक है:
    • इंस्टॉल
      • पैकेज स्थापित करें
    • स्थापना रद्द करें
      • संकुल की स्थापना रद्द करें
    • फ्रीज
      • आउटपुट स्थापित पैकेज आवश्यकताओं के प्रारूप में
    • सूची
      • सूची स्थापित पैकेज
    • प्रदर्शन
      • इंस्टॉल किए गए पैकेज के बारे में जानकारी दिखाएं
    • खोज
      • पैकेजों के लिए PyPI खोजें
    • पहिया
      • अपनी आवश्यकताओं से पहियों का निर्माण करें
    • ज़िप
      • जिप व्यक्तिगत पैकेज (पदावनत)
    • खोलना
      • अलग-अलग पैकेज खोलना (पदावनत)
    • बंडल
      • पाइबंडल्स बनाएं (पदावनत)
    • मदद
      • आदेशों के लिए सहायता दिखाएं

टिप्पणियों

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

पायथन संस्करण दृश्य स्टूडियो संस्करण दृश्य C ++ संस्करण
2.6 - 3.2 विजुअल स्टूडियो 2008 दृश्य C ++ 9.0
३.३ - ३.४ विजुअल स्टूडियो 2010 विजुअल C ++ 10.0
3.5 विजुअल स्टूडियो 2015 दृश्य C ++ 14.0

स्रोत: wiki.python.org

पैकेज स्थापित करें

SomePackage नामक पैकेज का नवीनतम संस्करण स्थापित करने के लिए:

$ pip install SomePackage

पैकेज का एक विशिष्ट संस्करण स्थापित करने के लिए:

$ pip install SomePackage==1.0.4

पैकेज के लिए स्थापित करने के लिए एक न्यूनतम संस्करण निर्दिष्ट करने के लिए:

$ pip install SomePackage>=1.0.4

यदि कमांड लिनक्स / यूनिक्स पर अनुमति से इनकार करते हैं, तो कमांड के साथ sudo उपयोग करें


आवश्यकताओं फ़ाइलों से स्थापित करें

$ pip install -r requirements.txt

आवश्यकताएँ फ़ाइल की प्रत्येक पंक्ति कुछ स्थापित करने के लिए इंगित करती है, और पाइप को स्थापित करने के लिए तर्क की तरह, फ़ाइलों के प्रारूप पर विवरण यहाँ हैं: आवश्यकताएँ फ़ाइल स्वरूप

पैकेज स्थापित करने के बाद आप इसे freeze कमांड का उपयोग करके देख सकते हैं:

$ pip freeze

संकुल की स्थापना रद्द करें

पैकेज की स्थापना रद्द करने के लिए:

$ pip uninstall SomePackage

`पिप` का उपयोग करके स्थापित सभी पैकेजों को सूचीबद्ध करने के लिए

स्थापित पैकेजों को सूचीबद्ध करने के लिए:

$ pip list
# example output
docutils (0.9.1)
Jinja2 (2.6)
Pygments (1.5)
Sphinx (1.1.2)

पुराने पैकेजों को सूचीबद्ध करने के लिए, और उपलब्ध नवीनतम संस्करण को दिखाएं:

$ pip list --outdated
# example output
docutils (Current: 0.9.1 Latest: 0.10)
Sphinx (Current: 1.1.2 Latest: 1.1.3)

पैकेज अपग्रेड करें

चल रहा है

$ pip install --upgrade SomePackage 

पैकेज SomePackage और उसके सभी आश्रितों को अपग्रेड करेगा। इसके अलावा, उन्नयन से पहले पाइप स्वचालित रूप से पैकेज के पुराने संस्करण को हटा देता है।

पाइप खुद को अपग्रेड करने के लिए, करते हैं

$ pip install --upgrade pip

यूनिक्स पर या

$ python -m pip install --upgrade pip

विंडोज मशीनों पर।

लिनक्स पर सभी पुराने संकुल को अद्यतन करना

pip करंट नहीं है और एक शॉट में उपयोगकर्ता को सभी पुराने पैकेजों को अपडेट करने की अनुमति देता है। हालाँकि, यह लिनक्स वातावरण में एक साथ पाइपिंग कमांड द्वारा पूरा किया जा सकता है:

pip list --outdated --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U

यह आदेश स्थानीय virtualenv में सभी संकुल लेता है और जाँच करता है कि क्या वे पुराने हैं। उस सूची से, उसे पैकेज का नाम मिलता है और फिर पाइप को pip install -U कमांड पर जाता है। इस प्रक्रिया के अंत में, सभी स्थानीय पैकेजों को अपडेट किया जाना चाहिए।

विंडोज पर सभी पुराने पैकेजों को अपडेट करना

pip करंट नहीं है और एक शॉट में उपयोगकर्ता को सभी पुराने पैकेजों को अपडेट करने की अनुमति देता है। हालाँकि, इसे Windows वातावरण में एक साथ कमांडिंग पाइपिंग द्वारा पूरा किया जा सकता है:

for /F "delims= " %i in ('pip list --outdated --local') do pip install -U %i

यह आदेश स्थानीय virtualenv में सभी संकुल लेता है और जाँच करता है कि क्या वे पुराने हैं। उस सूची से, उसे पैकेज का नाम मिलता है और फिर पाइप को pip install -U कमांड पर जाता है। इस प्रक्रिया के अंत में, सभी स्थानीय पैकेजों को अपडेट किया जाना चाहिए।

सिस्टम पर सभी संकुलों की आवश्यकताएँ .xt फ़ाइल बनाएँ

freeze विकल्प प्रदान करके, requirements.txt pip फ़ाइलों को बनाने में सहायता करता है।

pip freeze > requirements.txt

यह सभी संकुल की एक सूची और उनके संस्करण नाम की एक फ़ाइल के लिए सिस्टम पर स्थापित की बचत होगी requirements.txt वर्तमान फ़ोल्डर में।

केवल virtualnv में पैकेजों की आवश्यकताएँ.txt फ़ाइल बनाएँ

freeze विकल्प प्रदान करके, requirements.txt pip फ़ाइलों को बनाने में सहायता करता है।

pip freeze --local > requirements.txt

- --local पैरामीटर केवल उन पैकेजों और संस्करणों की एक सूची का उत्पादन करेगा जो स्थानीय रूप से एक virtualenv पर स्थापित हैं। वैश्विक पैकेज सूचीबद्ध नहीं होंगे।

पाइप के साथ एक निश्चित पायथन संस्करण का उपयोग करना

यदि आपके पास Python 3 और Python 2 दोनों स्थापित हैं, तो आप निर्दिष्ट कर सकते हैं कि Python के किस संस्करण को आप उपयोग करना चाहते हैं। यह उपयोगी है जब पैकेज केवल पायथन 2 या 3 का समर्थन करते हैं या जब आप दोनों के साथ परीक्षण करना चाहते हैं।

यदि आप पायथन 2 के लिए पैकेज स्थापित करना चाहते हैं, तो या तो चलाएं:

pip install [package]

या:

pip2 install [package]

यदि आप पायथन 3 के लिए पैकेज स्थापित करना चाहते हैं, तो करें:

pip3 install [package]

आप किसी विशिष्ट अजगर की स्थापना के लिए पैकेज की स्थापना को भी लागू कर सकते हैं:

\path\to\that\python.exe -m pip install some_package # on Windows OR
/usr/bin/python25 -m pip install some_package # on OS-X/Linux

OS-X / Linux / Unix प्लेटफॉर्म पर अजगर के सिस्टम संस्करण के बीच के अंतर के बारे में पता होना महत्वपूर्ण है, (जो आपके सिस्टम को निष्क्रिय करने के लिए अपग्रेड करते हैं), और अजगर का उपयोगकर्ता संस्करण (ओं)। तुम्हें पता है, जो के आधार पर नवीनीकरण करने के लिए, के साथ इन आदेशों उपसर्ग की जरूरत कोशिश कर रहे हैं हो सकता है sudo और इनपुट एक पासवर्ड।

इसी तरह विंडोज पर कुछ पायथन इंस्टॉलेशन, विशेष रूप से जो एक और पैकेज का एक हिस्सा हैं, सिस्टम निर्देशिकाओं में स्थापित हो सकते हैं - जिन्हें आपको एडमिन मोड में चल रहे कमांड विंडो से अपग्रेड करना होगा - यदि आप पाते हैं कि यह आपके लिए जरूरी है। ऐसा करना एक बहुत अच्छा विचार है कि आप अजगर की स्थापना किस कमांड के साथ करने की कोशिश कर रहे हैं जैसे कि python -c"import sys;print(sys.path);" या py -3.5 -c"import sys;print(sys.path);" आप भी देख सकते हैं कि पिप आप के साथ चलाने के लिए कोशिश कर रहे हैं pip --version

विंडोज पर, यदि आपके पास अजगर 2 और अजगर 3 दोनों स्थापित हैं, और आपके पथ पर और आपका अजगर 3 3.4 से अधिक है, तो संभवतः आपके सिस्टम पथ पर अजगर लॉन्चर py । फिर आप इस तरह के काम कर सकते हैं:

py -3 -m pip install -U some_package # Install/Upgrade some_package to the latest python 3
py -3.3 -m pip install -U some_package # Install/Upgrade some_package to python 3.3 if present
py -2 -m pip install -U some_package # Install/Upgrade some_package to the latest python 2 - 64 bit if present
py -2.7-32 -m pip install -U some_package # Install/Upgrade some_package to python 2.7 - 32 bit if present

यदि आप अजगर के कई संस्करणों को चला रहे हैं और बनाए रख रहे हैं, तो मैं दृढ़ता से अजगर virtualenv या venv आभासी वातावरण के बारे में पढ़ने की सलाह venv जो आपको अजगर के दोनों संस्करण को अलग करने की अनुमति देते हैं और कौन से पैकेज मौजूद हैं।

पहियों के रूप में पाइप पर अभी तक पैकेज स्थापित नहीं कर रहा है

कई, शुद्ध अजगर, पैकेज अभी तक पायथन पैकेज इंडेक्स पर पहियों के रूप में उपलब्ध नहीं हैं, लेकिन फिर भी ठीक स्थापित हैं। हालाँकि, Windows पर कुछ पैकेज खतरनाक vcvarsall.bat त्रुटि नहीं मिली।

समस्या यह है कि आप जिस पैकेज को स्थापित करने का प्रयास कर रहे हैं, उसमें C या C ++ एक्सटेंशन शामिल है और वर्तमान में अजगर पैकेज इंडेक्स, pypi से एक पूर्व-निर्मित व्हील के रूप में उपलब्ध नहीं है, और खिड़कियों पर आपके पास बनाने के लिए आवश्यक उपकरण श्रृंखला नहीं है। ऐसे आइटम।

सबसे सरल उत्तर क्रिस्टोफ गोहले की उत्कृष्ट साइट पर जाना है और उन पुस्तकालयों के उपयुक्त संस्करण का पता लगाना है जिनकी आपको आवश्यकता है। पैकेज में उपयुक्त नाम से एक -cp एनएन - को अजगर के अपने संस्करण से मेल खाना पड़ता है, अर्थात यदि आप विंडोज़ 32 बिट अजगर का उपयोग कर रहे हैं, तब भी win64 में नाम शामिल होना चाहिए- -3232- और यदि 64 बिट अजगर का उपयोग करना हो तो इसे शामिल करना होगा -win_amd64 - और फिर पायथन संस्करण का मिलान होना चाहिए, अर्थात पाइथन 34 के लिए फ़ाइल नाम में -cp 34- शामिल होना चाहिए , आदि यह मूल रूप से जादू है कि पाइप आपके लिए pypi साइट पर करता है।

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

पायथन 2.7 ने विज़ुअल स्टूडियो 2008 का उपयोग किया, पायथन ने 3.3 और 3.4 ने विज़ुअल स्टूडियो 2010 का उपयोग किया, और पायथन 3.5+ ने विज़ुअल स्टूडियो 2015 का उपयोग किया।

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

अंत में आप पाइप को अपना निर्माण करने दे सकते हैं - बेशक अगर पैकेज में निर्भरता है कि आपके पास अभी तक नहीं है तो आपको उनके लिए हेडर फ़ाइलों को भी ढूंढने की आवश्यकता हो सकती है।

विकल्प: यह देखने लायक भी है, दोनों पेपी या क्राइस्ट की साइट पर , पैकेज के किसी भी थोड़े पहले संस्करण के लिए जिसे आप देख रहे हैं, वह या तो शुद्ध अजगर है या आपके प्लेटफॉर्म और अजगर संस्करण के लिए पूर्व-निर्मित है और संभवतः उन का उपयोग कर रहा है, यदि जब तक, आपका पैकेज उपलब्ध नहीं हो जाता। इसी तरह यदि आप अजगर के नवीनतम संस्करण का उपयोग कर रहे हैं, तो आप पा सकते हैं कि परियोजनाओं को पकड़ने के लिए पैकेज को थोड़ा समय लगता है ताकि वास्तव में एक विशिष्ट पैकेज की आवश्यकता हो, आपको इस समय के लिए थोड़ा पुराने अजगर का उपयोग करना पड़ सकता है। आप संकुल स्रोत साइट को यह देखने के लिए भी देख सकते हैं कि क्या कोई फोर्क्ड संस्करण उपलब्ध है जो कि पूर्व-निर्मित या शुद्ध अजगर के रूप में उपलब्ध है और वैकल्पिक पैकेजों की खोज कर रहा है जो आपके लिए आवश्यक कार्यक्षमता प्रदान करते हैं लेकिन उपलब्ध हैं - एक उदाहरण जो मन को भा जाता है। तकिया , सक्रिय रूप से बनाए रखा गया है , पीआईएल के लिए प्रतिस्थापन में वर्तमान में 6 साल में अद्यतन नहीं किया गया है और अजगर 3 के लिए उपलब्ध नहीं है

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

प्री-रिलीव्स इंस्टॉल करने पर ध्यान दें

पिप सिमेंटिक वर्जनिंग के नियमों का पालन करता है और डिफ़ॉल्ट रूप से प्री-रिलीज़ से पहले रिलीज़ किए गए पैकेजों को जारी करता है। तो अगर किसी दिए गए पैकेज के रूप में जारी की गई है V0.98 और वहाँ भी है एक रिलीज उम्मीदवार V1.0-rc1 के डिफ़ॉल्ट व्यवहार को pip install स्थापित करने के लिए किया जाएगा V0.98 - अगर आप रिलीज उम्मीदवार स्थापित करना चाहते हैं, तो आप सलाह दी जाती है पहले एक आभासी वातावरण में परीक्षण करने के लिए , आप --pip install --pre package-name या --pip install --pre --upgrade पैकेज-नाम के साथ --pip install --pre सक्षम कर सकते हैं। कई मामलों में पूर्व-रिलीज़ या रिलीज़ होने वाले उम्मीदवारों के पास सभी प्लेटफ़ॉर्म और संस्करण संयोजनों के लिए पहियों का निर्माण नहीं हो सकता है, इसलिए आपको ऊपर दिए गए मुद्दों का सामना करने की अधिक संभावना है।

विकास संस्करण स्थापित करने पर ध्यान दें

आप गितुब और अन्य स्थानों से पैकेज के विकास संस्करणों को स्थापित करने के लिए पाइप का उपयोग कर सकते हैं, क्योंकि इस तरह के कोड प्रवाह में हैं इसके लिए पहियों का निर्माण करने की बहुत संभावना नहीं है, इसलिए किसी भी अशुद्ध पैकेज को बिल्ड टूल की उपस्थिति की आवश्यकता होगी, और वे हो सकते हैं किसी भी समय टूट जाए इसलिए उपयोगकर्ता को केवल ऐसे पैकेजों को वर्चुअल वातावरण में स्थापित करने के लिए दृढ़ता से प्रोत्साहित किया जाता है।

इस तरह के प्रतिष्ठानों के लिए तीन विकल्प मौजूद हैं:

  1. संकुचित स्नैपशॉट डाउनलोड करें, अधिकांश ऑनलाइन संस्करण नियंत्रण प्रणालियों में कोड के एक संकुचित स्नैपशॉट डाउनलोड करने का विकल्प होता है। इसे मैन्युअल रूप से डाउनलोड किया जा सकता है और फिर pip install पथ / टू / डाउनलोड / फ़ाइल नोट के साथ स्थापित किया जा सकता है कि अधिकांश संपीड़न प्रारूपों के लिए पाइप कैश क्षेत्र में अनपैकिंग को संभाल लेंगे, आदि।
  2. अपने साथ डाउनलोड और इंस्टॉल करने के लिए पाइप को हैंडल करने दें: pip install / URL / पैकेज / रिपॉजिटरी का pip install करें - इसके लिए आपको --trusted-host , --client-cert और / या --proxy फ्लैग का उपयोग करना पड़ सकता है। सही ढंग से, विशेष रूप से एक कॉर्पोरेट वातावरण में। उदाहरण के लिए:
    > py -3.5-32 -m venv demo-pip
    > demo-pip\Scripts\activate.bat
    > python -m pip install -U pip
    Collecting pip
      Using cached pip-9.0.1-py2.py3-none-any.whl
    Installing collected packages: pip
      Found existing installation: pip 8.1.1
        Uninstalling pip-8.1.1:
          Successfully uninstalled pip-8.1.1
    Successfully installed pip-9.0.1
    > pip install git+https://github.com/sphinx-doc/sphinx/
    Collecting git+https://github.com/sphinx-doc/sphinx/
      Cloning https://github.com/sphinx-doc/sphinx/ to c:\users\steve-~1\appdata\local\temp\pip-04yn9hpp-build
    Collecting six>=1.5 (from Sphinx==1.7.dev20170506)
      Using cached six-1.10.0-py2.py3-none-any.whl
    Collecting Jinja2>=2.3 (from Sphinx==1.7.dev20170506)
      Using cached Jinja2-2.9.6-py2.py3-none-any.whl
    Collecting Pygments>=2.0 (from Sphinx==1.7.dev20170506)
      Using cached Pygments-2.2.0-py2.py3-none-any.whl
    Collecting docutils>=0.11 (from Sphinx==1.7.dev20170506)
      Using cached docutils-0.13.1-py3-none-any.whl
    Collecting snowballstemmer>=1.1 (from Sphinx==1.7.dev20170506)
      Using cached snowballstemmer-1.2.1-py2.py3-none-any.whl
    Collecting babel!=2.0,>=1.3 (from Sphinx==1.7.dev20170506)
      Using cached Babel-2.4.0-py2.py3-none-any.whl
    Collecting alabaster<0.8,>=0.7 (from Sphinx==1.7.dev20170506)
      Using cached alabaster-0.7.10-py2.py3-none-any.whl
    Collecting imagesize (from Sphinx==1.7.dev20170506)
      Using cached imagesize-0.7.1-py2.py3-none-any.whl
    Collecting requests>=2.0.0 (from Sphinx==1.7.dev20170506)
      Using cached requests-2.13.0-py2.py3-none-any.whl
    Collecting typing (from Sphinx==1.7.dev20170506)
      Using cached typing-3.6.1.tar.gz
    Requirement already satisfied: setuptools in f:\toolbuild\temp\demo-pip\lib\site-packages (from Sphinx==1.7.dev20170506)
    Collecting sphinxcontrib-websupport (from Sphinx==1.7.dev20170506)
      Downloading sphinxcontrib_websupport-1.0.0-py2.py3-none-any.whl
    Collecting colorama>=0.3.5 (from Sphinx==1.7.dev20170506)
      Using cached colorama-0.3.9-py2.py3-none-any.whl
    Collecting MarkupSafe>=0.23 (from Jinja2>=2.3->Sphinx==1.7.dev20170506)
      Using cached MarkupSafe-1.0.tar.gz
    Collecting pytz>=0a (from babel!=2.0,>=1.3->Sphinx==1.7.dev20170506)
      Using cached pytz-2017.2-py2.py3-none-any.whl
    Collecting sqlalchemy>=0.9 (from sphinxcontrib-websupport->Sphinx==1.7.dev20170506)
      Downloading SQLAlchemy-1.1.9.tar.gz (5.2MB)
        100% |################################| 5.2MB 220kB/s
    Collecting whoosh>=2.0 (from sphinxcontrib-websupport->Sphinx==1.7.dev20170506)
      Downloading Whoosh-2.7.4-py2.py3-none-any.whl (468kB)
        100% |################################| 471kB 1.1MB/s
    Installing collected packages: six, MarkupSafe, Jinja2, Pygments, docutils, snowballstemmer, pytz, babel, alabaster, imagesize, requests, typing, sqlalchemy, whoosh, sphinxcontrib-websupport, colorama, Sphinx
      Running setup.py install for MarkupSafe ... done
      Running setup.py install for typing ... done
      Running setup.py install for sqlalchemy ... done
      Running setup.py install for Sphinx ... done
    Successfully installed Jinja2-2.9.6 MarkupSafe-1.0 Pygments-2.2.0 Sphinx-1.7.dev20170506 alabaster-0.7.10 babel-2.4.0 colorama-0.3.9 docutils-0.13.1 imagesize-0.7.1 pytz-2017.2 requests-2.13.0 six-1.10.0 snowballstemmer-1.2.1 sphinxcontrib-websupport-1.0.0 sqlalchemy-1.1.9 typing-3.6.1 whoosh-2.7.4

URL पर git+ उपसर्ग नोट करें।

  1. git , mercurial या अन्य स्वीकार्य टूल का उपयोग करके रिपॉजिटरी को क्लोन करें, अधिमानतः एक डीवीसीएस टूल, और pip install पथ / टू / क्लोन / रेपो का उपयोग करें - यह दोनों किसी भी आवश्यकता की प्रक्रिया करेगा। फ़ाइल और बिल्ड और सेटअप चरणों को निष्पादित करें, आप मैन्युअल रूप से बदल सकते हैं। आपके क्लोन किए गए रिपॉजिटरी की निर्देशिका और pip install -r requires.txt लिए। python setup.py install और फिर समान प्रभाव पाने के लिए python setup.py install करें। इस दृष्टिकोण का बड़ा लाभ यह है कि प्रारंभिक क्लोन ऑपरेशन में स्नैपशॉट डाउनलोड की तुलना में अधिक समय लग सकता है, जिसे आप नवीनतम के साथ अद्यतन कर सकते हैं, git के मामले में: git pull origin master और यदि वर्तमान संस्करण में त्रुटियां हैं, तो आप pip uninstall उपयोग कर सकते हैं पैकेज-नाम फिर git checkout कमांड का उपयोग करके रिपॉजिटरी हिस्ट्री के माध्यम से पहले वाले वर्जन (s) में वापस जाने और री-ट्राई करने का प्रयास करता है।


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow