python - क्या पाइथन में पैकेज/मॉड्यूल प्रबंधन प्रणाली है?




module (8)

क्या पाइथन के पास एक पैकेज / मॉड्यूल प्रबंधन प्रणाली है, जैसे कि रूबी के gem install packagename कैसे हैं, जहां आप gem install packagename कर सकते हैं?

पायथन मॉड्यूल स्थापित करने पर, मुझे केवल python setup.py install संदर्भ दिखाई देते हैं, लेकिन इसके लिए आपको पहले पैकेज ढूंढना होगा।


हाल की प्रगति

मार्च 2014 : अच्छी खबर! पाइप के साथ पाइथन 3.4 जहाजों। पिप लंबे समय से पाइथन के डी-फैक्टो मानक पैकेज प्रबंधक रहे हैं। आप इस तरह एक पैकेज स्थापित कर सकते हैं:

pip install httpie

Wahey! यह किसी भी पायथन रिलीज की सबसे अच्छी सुविधा है। यह समुदाय के पुस्तकालयों की संपत्ति को हर किसी के लिए सुलभ बनाता है। सेटअप की निषिद्ध कठिनाई से समुदाय पुस्तकालयों का उपयोग करने से नए लोगों को अब बाहर नहीं रखा गया है।

हालांकि , पाइथन पैकेजिंग अनुभव के साथ कई उत्कृष्ट निराशाएं बनी हुई हैं। संचयी रूप से, वे पाइथन को नए लोगों के लिए बहुत ही अनचाहे बनाते हैं। इसके अलावा, उपेक्षा का लंबा इतिहास (यानी पाइथन 2.0 से पायथन 3.3 तक 14 साल के लिए पैकेज प्रबंधक के साथ शिपिंग नहीं) समुदाय को नुकसान पहुंचा। मैं नीचे दोनों का वर्णन करता हूं।

उत्कृष्ट निराशाएं

यह समझना महत्वपूर्ण है कि अनुभवी उपयोगकर्ता इन निराशाओं के आसपास काम करने में सक्षम हैं, लेकिन वे पाइथन के लिए नए लोगों के लिए महत्वपूर्ण बाधाएं हैं। वास्तव में, कठिनाई और सामान्य उपयोगकर्ता-अप्रासंगिकता उनमें से कई को रोकने की संभावना है।

पीईपीआई वेबसाइट काउंटर-सहायक है

संकुल प्रबंधक के साथ प्रत्येक भाषा में समुदाय को संकुल डाउनलोड और प्रकाशित करने के लिए आधिकारिक (या अर्ध-आधिकारिक) भंडार होता है। पायथन में पायथन पैकेज इंडेक्स, पीईपीआई है। https://pypi.python.org/pypi

आइए इसके पृष्ठों की तुलना रुबीजम्स और एनपीएम (नोड पैकेज मैनेजर) के साथ करें।

  1. पैकेज rails लिए https://rubygems.org/gems/rails RubyGems पेज
  2. पैकेज express लिए https://www.npmjs.org/package/express एनपीएम पृष्ठ
  3. पैकेज simplejson लिए https://pypi.python.org/pypi/simplejson/ पीईपीआई पृष्ठ

आप देखेंगे कि रूबीगेम्स और एनपीएम पेज दोनों पैकेज के एक-पंक्ति विवरण से शुरू होते हैं, फिर बड़े दोस्ताना निर्देश इसे कैसे इंस्टॉल करें।

इस बीच, किसी भी बेकार पायथन उपयोगकर्ता को जो दुःखद रूप से पीपीपीआई में ब्राउज़ करता है, पर दुःख। https://pypi.python.org/pypi/simplejson/ , उन्हें कोई उपयोगी निर्देश नहीं मिलेगा। हालांकि, एक बड़ा हरा 'डाउनलोड' लिंक है। इसका पालन करना अनुचित नहीं है। आह, वे क्लिक करें! उनका ब्राउज़र एक .tar.gz फ़ाइल डाउनलोड करता है। कई विंडोज उपयोगकर्ता इसे भी खोल नहीं सकते हैं, लेकिन अगर वे दृढ़ हैं तो वे अंततः इसे निकाल सकते हैं, फिर setup.py और अंततः Google setup.py install की मदद से चलाएं। कुछ छोड़ देंगे और पहिया reinvent ..

बेशक, यह सब गलत है। पैकेज स्थापित करने का सबसे आसान तरीका एक पिप कमांड के साथ है। लेकिन पीईपीआई ने पिप का भी उल्लेख नहीं किया। इसके बजाय, यह उन्हें एक पुरातन और थकाऊ पथ नीचे ले गया।

त्रुटि: vcvarsall.bat खोजने में असमर्थ

नम्पी पायथन की सबसे लोकप्रिय पुस्तकालयों में से एक है। इसे पिप के साथ स्थापित करने का प्रयास करें, आपको यह गुप्त त्रुटि संदेश मिलता है:

त्रुटि: vcvarsall.bat खोजने में असमर्थ

इसे ठीक करने का प्रयास करना स्टैक ओवरफ़्लो पर सबसे लोकप्रिय प्रश्नों में से एक है: " त्रुटि: vcvarsall.bat खोजने में असमर्थ "

कुछ लोग सफल होते हैं।

तुलना के लिए, उसी स्थिति में, रूबी इस संदेश को प्रिंट करता है, जो बताता है कि क्या हो रहा है और इसे कैसे ठीक किया जाए:

कृपया निर्माण उपकरण को शामिल करने के लिए अपने पथ को अपडेट करें या http://kubyinstaller.org/downloads से देवकिट डाउनलोड करें और http://github.com/oneclick/rubyinstaller/wiki/Development-Kit पर निर्देशों का पालन करें

प्रकाशन पैकेज मुश्किल है

रुबी और नोडजेस पूर्ण-विशेषीकृत पैकेज प्रबंधक, जेम (2007 से) और एनपीएम (2011 से) के साथ जहाज करते हैं, और गिटहब के आसपास केंद्रित समुदायों को साझा करने के लिए पोषित किया है। एनपीएम प्रकाशन पैकेज को उन्हें स्थापित करने जितना आसान बनाता है, इसमें पहले से ही 64k पैकेज हैं । RubyGems 72k पैकेज सूचीबद्ध करता है । आदरणीय पायथन पैकेज इंडेक्स https://pypi.python.org/pypi सूचीबद्ध करता है।

इतिहास

अपनी " बैटरी शामिल " आदर्श वाक्य के सामने उड़ान भरने के लिए, पायथन 2014 तक पैकेज प्रबंधक के बिना भेज दिया गया।

पिप तक, डी फैक्टो मानक एक कमांड easy_install । यह अपर्याप्त अपर्याप्त था। संकुल अनइंस्टॉल करने के लिए कोई आदेश नहीं था।

पिप एक बड़ा सुधार था। इसमें रूबी के जेम की अधिकांश विशेषताएं थीं। दुर्भाग्य से, पिप था - हाल ही में - स्थापित करने के लिए विडंबना मुश्किल है। वास्तव में, समस्या स्टैक ओवरफ़्लो पर एक शीर्ष पायथन प्रश्न बना हुआ है: " मैं विंडोज़ पर पाइप कैसे स्थापित करूं? "


इसे setuptools कहा जाता है। आप इसे "easy_install" कमांड से चलाते हैं।

आप http://pypi.python.org/ पर निर्देशिका पा सकते हैं


कम से कम 2014 के अंत तक, conda पैकेज मैनेजर के साथ कंटिन्यूम एनालिटिक्स 'एनाकोंडा पायथन वितरण पर विचार किया जाना चाहिए। यह एक गंभीर डाउनलोड में सामान्य रूप से पाइथन के साथ चलने वाले अधिकांश गंभीर मुद्दों को हल करता है (विभिन्न पायथन संस्करणों का प्रबंधन, पायथन संस्करणों, पैकेज प्रबंधन, वर्चुअल वातावरण, विंडोज / मैक संगतता को अद्यतन करना)।

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


कम से कम दो, easy_install और इसके उत्तराधिकारी pip


मुझे या तो MacPorts या Homebrew को अन्य उत्तरों में उल्लिखित नहीं देखा गया है, लेकिन जब से मैं उन्हें संबंधित प्रश्नों के लिए स्टैक ओवरफ़्लो पर कहीं और उल्लेख करता हूं, तो मैं अपना खुद का यूएस $ 0.02 जोड़ दूंगा कि कई लोग MacPorts को न केवल पैकेज के रूप में मानते हैं सामान्य रूप से पैकेज के लिए प्रबंधक (आज के रूप में वे 16311 पैकेज / बंदरगाहों, 2 9 31 मिलान "पायथन" की सूची में हैं, यद्यपि केवल मैक के लिए), लेकिन पाइथन पैकेज / मॉड्यूल के लिए एक सभ्य (शायद बेहतर) पैकेज मैनेजर के रूप में भी:

सवाल

"... मैक पायथन डेवलपर्स अपने मॉड्यूल का प्रबंधन करने के लिए किस विधि का उपयोग करते हैं?"

जवाब

SciPy

"मैक (लिनक्स के विपरीत) पैकेज प्रबंधक के साथ नहीं आते हैं, लेकिन कुछ लोकप्रिय पैकेज प्रबंधक हैं जिन्हें आप इंस्टॉल कर सकते हैं। मैकपोर्ट ..."

मैं अभी भी मैकपॉर्ट्स का उपयोग करने के बारे में बहस कर रहा हूं, लेकिन फिलहाल मैं उस दिशा में झुका रहा हूं।



विंडोज़ पर http://chocolatey.org/ स्थापित करें

choco install python

अद्यतन पाथ के साथ एक नई cmd-window खोलें। अगला, करो

choco install pip

उसके बाद आप कर सकते हैं

pip install pyside
pip install ipython
...

पायथन पैकेज इंडेक्स (पीईपीआई) मानक प्रतीत होता है:

  • पैकेज स्थापित करने के लिए: pip install MyProject
  • एक पैकेज pip install --upgrade MyProject
  • पैकेज pip install MyProject==1.0 एक संस्करण को ठीक pip install MyProject==1.0

आप पैकेज प्रबंधक को निम्नानुसार स्थापित कर सकते हैं:

curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

संदर्भ:





module