खोज…


परिचय

कभी-कभी आपको अजगर के अंदर पिप पैकेज मैनेजर का उपयोग करने की आवश्यकता हो सकती है। जब कुछ आयात ImportError बढ़ा सकते हैं और आप अपवाद को संभालना चाहते हैं। यदि आप Windows Python_root/Scripts/pip.exe पर अनपैक करते हैं, तो __main__.py फ़ाइल संग्रहीत की __main__.py है, जहां pip पैकेज से main वर्ग आयात किया जाता है। इसका मतलब है कि जब भी आप पाइप निष्पादन योग्य का उपयोग करते हैं तो पाइप पैकेज का उपयोग किया जाता है। निष्पादन योग्य के रूप में पाइप के उपयोग के लिए: पाइप: PyPI पैकेज मैनेजर

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

  • पाइप। <फ़ंक्शन | विशेषता | वर्ग> जहां फ़ंक्शन में से एक है:
    • स्वत: पूर्ण ()
      • मुख्य विकल्प पार्सर (और विकल्प) और उसके उप-क्षेत्र (और विकल्प) के लिए कमांड और विकल्प पूरा करना। पूर्ण शेल स्क्रिप्ट (बैश, zsh या मछली) में से किसी एक को सोर्स करके सक्षम करें।
    • check_isolated (args)
      • परम अहंकार {सूची}
      • रिटर्न {बुलियन}
    • create_main_parser ()
      • रिटर्न {pip.baseparser.ConfigOptionParser वस्तु}
    • मुख्य (args = कोई नहीं)
      • परम अहंकार {सूची}
      • रिटर्न {पूर्णांक} यदि रिटर्न 0 से असफल नहीं हुआ
    • parseopts (args)
      • परम अहंकार {सूची}
    • get_installed_distributions ()
      • रिटर्न {सूची}
    • get_similar_commands (नाम)
      • कमांड नाम ऑटो-सही।
      • परम नाम {स्ट्रिंग}
      • रिटर्न {बुलियन}
    • get_summaries (आदेश दिया = सच)
      • पैदावार क्रमबद्ध (कमांड नाम, कमांड सारांश) ट्यूपल्स।
    • get_prog ()
      • रिटर्न {स्ट्रिंग}
    • dist_is_editable (जिले)
      • क्या वितरण एक संपादन योग्य स्थापित है?
      • परम दूर {वस्तु}
      • रिटर्न {बुलियन}
    • commands_dict
      • विशेषता {शब्दकोश}

उदाहरण कमांड का उपयोग

import pip

command = 'install'
parameter = 'selenium'
second_param = 'numpy' # You can give as many package names as needed
switch = '--upgrade'

pip.main([command, parameter, second_param, switch])

केवल आवश्यक पैरामीटर अनिवार्य हैं, इसलिए दोनों pip.main(['freeze']) और pip.main(['freeze', '', '']) aceptable हैं।

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

एक कॉल में कई पैकेज नामों को पारित करना संभव है, लेकिन यदि कोई इंस्टॉल / अपग्रेड विफल रहता है, तो पूरी स्थापना प्रक्रिया बंद हो जाती है और स्थिति '1' के साथ समाप्त हो जाती है।

import pip

installed = pip.get_installed_distributions()
list = []
for i in installed:
    list.append(i.key)

pip.main(['install']+list+['--upgrade'])

यदि आप कुछ इंस्टाल होने पर रोकना नहीं चाहते हैं, तो इंस्टॉलेशन को लूप में कॉल करें।

for i in installed:
        pip.main(['install']+i.key+['--upgrade'])

आयात आयात अपवाद

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

if __name__ == '__main__':
    try:
        import requests
    except ImportError:
        print("To use this module you need 'requests' module")
        t = input('Install requests? y/n: ')
        if t == 'y':
            import pip
            pip.main(['install', 'requests'])
            import requests
            import os
            import sys
            pass
        else:
            import os
            import sys
            print('Some functionality can be unavailable.')
else:
    import requests
    import os
    import sys

बल लगाना

संस्करण 3.4 पर उदाहरण के लिए कई पैकेज 3.6 पर ठीक चलेंगे, लेकिन यदि विशिष्ट मंच के लिए कोई वितरण नहीं हैं, तो उन्हें स्थापित नहीं किया जा सकता है, लेकिन वर्कअराउंड है। .Whl फ़ाइलों में (पहियों के रूप में जाना जाता है) नामकरण सम्मेलन तय करता है कि क्या आप निर्दिष्ट प्लेटफ़ॉर्म पर पैकेज स्थापित कर सकते हैं। उदाहरण के लिए। scikit_learn‑0.18.1‑cp36‑cp36m‑win_amd64.whl [package_name] - [संस्करण] - [अजगर इंटरप्रेटर] - [अजगर-दुभाषिया] - [ऑपरेटिंग सिस्टम] .whl यदि व्हील फ़ाइल का नाम बदला जाता है, तो प्लेटफ़ॉर्म मैच करता है, तो पाइप पैकेज को स्थापित करने की कोशिश करता है, भले ही प्लेटफ़ॉर्म या पायथन संस्करण मेल नहीं खाता हो। प्लेटफ़ॉर्म या दुभाषिया को नाम से हटाने से पाइप मॉड्यूल के नवीनतम kjhfkjdf.whl is not a valid wheel filename. में त्रुटि उत्पन्न हो जाएगी kjhfkjdf.whl is not a valid wheel filename.

वैकल्पिक रूप से .whl फ़ाइल को 7-ज़िप के रूप में एक अभिलेखागार का उपयोग करके अनपैक किया जा सकता है। - इसमें आम तौर पर स्रोत फ़ाइलों के साथ वितरण मेटा फ़ोल्डर और फ़ोल्डर होता है। जब तक इस व्हील में इंस्टॉलेशन स्क्रिप्ट नहीं होती है, तब तक इन सोर्स फाइल्स को site-packges डायरेक्टरी में अनपैक किया जा सकता है।



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