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




module (9)

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

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


रुबी और पर्ल डेवलपर और लर्निंग-पायथन लड़के के रूप में, मुझे रूबीगेम्स या सीपीएएन के समतुल्य होने के लिए easy_install या pip नहीं मिला है।

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

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

इसलिए, पाइप और easy_install में बुनियादी कार्यक्षमता है, लेकिन ऐसी विशेषताएं हैं जो मुझे याद आ रही हैं कि मैं उन्हें देखना चाहूंगा और उपयोग करने में आसान और सीपीएएन और रूबीजम्स के समान होगा।


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

choco install python

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

choco install pip

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

pip install pyside
pip install ipython
...

चूंकि किसी ने यहां पाइपेंव का उल्लेख नहीं किया है, इसलिए मैं अपने विचारों का वर्णन करना चाहता हूं कि क्यों हर किसी को इसका उपयोग पायथन पैकेज के प्रबंधन के लिए करना चाहिए।

जैसा कि @ कोलोनेलपैनिक ने उल्लेख किया है कि https://pypi.python.org/pypi और पीआईपी और वर्चुअलनेव के साथ कई मुद्दे हैं।

पाइपेंव अधिकांश मुद्दों को पीआईपी के साथ हल करता है और अतिरिक्त सुविधाएं भी प्रदान करता है।

Pipenv विशेषताएं

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

  • वास्तव में केवल वही विनिर्देशित बनाता है, जबकि आप केवल वही निर्दिष्ट करते हैं जो आप चाहते हैं।
  • लॉक निर्भरताओं के लिए फ़ाइल हैश उत्पन्न करता है और जांचता है।
  • यदि Pyyv उपलब्ध है, तो स्वचालित रूप से आवश्यक पायथन स्थापित करें।
  • एक पाइपफाइल की तलाश करके, स्वचालित रूप से अपने प्रोजेक्ट होम को पाता है।
  • यदि कोई अस्तित्व में नहीं है, तो स्वचालित रूप से एक Pipfile उत्पन्न करता है।
  • एक मानक स्थान में स्वचालित रूप से वर्चुअलenv बनाता है।
  • जब वे अन / स्थापित होते हैं तो स्वचालित रूप से एक Pipfile में संकुल को हटा / हटा देता है।
  • यदि वे मौजूद हैं, तो स्वचालित रूप से .env फ़ाइलों को लोड करता है।

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

अन्य आदेश

  • सुरक्षा भेद्यता के लिए चेक check और दावा करें कि मौजूदा पर्यावरण द्वारा पीईपी 508 आवश्यकताओं को पूरा किया जा रहा है। ( जो मुझे लगता है कि विशेष रूप से इसके बाद एक महान विशेषता है - पीपीपीआई पर दुर्भावनापूर्ण पैकेज )
  • graph आपको आपकी स्थापित निर्भरताओं के निर्भरता ग्राफ दिखाएगा।

आप यहां इसके बारे में अधिक पढ़ सकते हैं - Pipenv

स्थापना

आप here इंस्टॉलेशन दस्तावेज पा सकते हैं

पीएस: यदि आपको पायथन पैकेज requests साथ काम करना अच्छा लगता है, तो आपको यह जानकर प्रसन्नता होगी कि पाइपेंव एक ही डेवलपर केनेथ रीट्ज द्वारा है


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

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


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

  • पैकेज स्थापित करने के लिए: 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

संदर्भ:


और सिर्फ एक विपरीत प्रदान करने के लिए, pip भी है।


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

सवाल

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

जवाब

SciPy

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

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


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

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


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





module