2016-07-06 5 views
27

मैं एक रूबी प्रोग्रामर पाइथन सीखने की कोशिश कर रहा हूं। मैं pyenv के साथ सुंदर परिवार हूँ क्योंकि यह rbenv से एक प्रतिलिपि और पेस्ट की तरह है। पायनेव सिस्टम में पाइथन के एक से अधिक संस्करण रखने और सिस्टम के संवेदनशील भाग को छूए बिना अजगर को अलग करने में मदद करता है।पायनव, वर्चुअलएन्व, एनाकोंडा के बीच क्या अंतर है?

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

अब मैं इन दो पायनव और वर्चुअलनेव के उद्देश्य से भ्रमित हो रहा हूं। pyenv के अंदर बदतर एक वर्चुअलएनवी प्लगइन है।

मेरे प्रश्न हैं:

  • pyenv और virtualenv के बीच क्या अंतर है?
  • क्या दोनों pyenv और virtualenv के अंदर पीपी कमांड का उपयोग करने में कोई अंतर है?
  • यह pyenv virutalenv क्या करता है?

उदाहरण के साथ आपकी व्याख्या की अत्यधिक सराहना की जाएगी।

+0

संबंधित: http: // stackoverflow ।कॉम/प्रश्न/29 9 50300/वर्चुअलएन्ग-एंड-पायनव – cel

+0

के बीच-संबंध-बीच-संबंध इस प्रश्न को देखें: [वर्चुअलएन्व और पायनव के बीच संबंध] (http://stackoverflow.com/questions/29950300/what-is- वर्चुअलएन्ग-एंड-पायनव के बीच-रिश्ते-बीच) –

उत्तर

34

संपादित करें: यह, यहाँ भी pip उल्लेख के लायक है के रूप में conda और pip समानता और अंतर यह है कि इस विषय के लिए प्रासंगिक हैं की है।

पाइप: पायथन पैकेज प्रबंधक।

  • आप गहरे लाल रंग का gem आदेश
  • pip का अजगर समकक्ष के रूप में pip के बारे में सोच डिफ़ॉल्ट रूप से अजगर के साथ शामिल नहीं है हो सकता है।
  • आप homebrew का उपयोग कर पायथन स्थापित कर सकता है, जो पिप स्वतः स्थापित हो जाएगा: brew install python
  • OSX के अंतिम संस्करण डिफ़ॉल्ट रूप से पिप शामिल नहीं किया। अजगर के अपने मैक सिस्टम के संस्करण के लिए पिप जोड़ने के लिए, आप sudo easy_install pip
  • आप पाते हैं और PyPI: The Python Package Index
  • requirements.txt फ़ाइल माणिक gemfile
  • एक आवश्यकताओं पाठ फ़ाइल बनाने के लिए
  • के बराबर है का उपयोग कर अजगर संकुल प्रकाशित कर सकते हैं कर सकते हैं, pip freeze > requirements.txt
  • नोट, इस बिंदु पर, हमारे पास हमारे सिस्टम पर पाइथन स्थापित है, और हमने एक info.txt फ़ाइल बनाई है जो आपके सिस्टम पर स्थापित सभी पायथन पैकेजों की रूपरेखा तैयार करती है।

pyenv: अजगर संस्करण प्रबंधक

  • From the docs: pyenv आप आसानी से अजगर के कई संस्करण के बीच स्विच कर सकते हैं। यह सरल, अविभाज्य है, और एकल उद्देश्य वाले उपकरणों की यूनिक्स परंपरा का पालन करता है जो एक चीज अच्छी तरह से करता है। इस परियोजना को आरबीएनवी और रूबी-बिल्ड से फोर्क किया गया था, और पायथन के लिए संशोधित किया गया था।
  • कई लोग hesitate to use python3
  • यदि आपको पायथन के विभिन्न संस्करणों का उपयोग करने की आवश्यकता है, तो pyenv आपको इसे आसानी से प्रबंधित करने देता है।

वर्चुअलनव: पायथन पर्यावरण प्रबंधक।

  • From the docs: मूल समस्या संबोधित किया जा रहा निर्भरता और संस्करणों, और परोक्ष रूप से अनुमतियों से एक है। कल्पना करें कि आपके पास एक ऐसा एप्लिकेशन है जिसके लिए लिबफू के संस्करण 1 की आवश्यकता है, लेकिन दूसरे एप्लिकेशन को संस्करण 2 की आवश्यकता है। आप इन दोनों अनुप्रयोगों का उपयोग कैसे कर सकते हैं? यदि आप सब कुछ /usr/lib/python2.7/site-packages (या जो भी आपके प्लेटफ़ॉर्म का मानक स्थान है) में स्थापित करते हैं, तो ऐसी स्थिति में समाप्त होना आसान है जहां आप अनजाने में उस एप्लिकेशन को अपग्रेड करते हैं जिसे अपग्रेड नहीं किया जाना चाहिए।
  • virtualenv बनाने के लिए, बस virtualenv ENV पर जाएं, जहां ENV नया वर्चुअल वातावरण रखने के लिए एक निर्देशिका है।
  • virtualenv आरंभ करने के लिए, आपको source ENV/bin/activate की आवश्यकता है। उपयोग करना बंद करने के लिए, बस deactivate पर कॉल करें।
  • एक बार जब आप virtualenv सक्रिय करते हैं, तो आप प्रोजेक्ट की requirements.txt फ़ाइल के विरुद्ध pip install -r चलाकर सभी कार्यक्षेत्र की पैकेज आवश्यकताएं इंस्टॉल कर सकते हैं।

अनाकॉन्डा: पैकेज प्रबंधक + पर्यावरण प्रबंधक + अतिरिक्त वैज्ञानिक पुस्तकालय।

  • From the docs: एनाकोंडा 4.2.0 अजगर का एक आसान स्थापना भी शामिल है (2.7.12, 3.4.5, और/या 3.5.2) और 100 से अधिक पूर्व-निर्मित की अद्यतन और वैज्ञानिक और विश्लेषणात्मक अजगर का परीक्षण किया संकुल जिनमें NumPy, Pandas, SciPy, Matplotlib, और IPython शामिल हैं, 620 से अधिक पैकेज एक साधारण conda install <packagename>
  • वेब डेवलपर के रूप में, मैंने एनाकोंडा का उपयोग नहीं किया है। यह सभी संकुल सहित ~ 3 जीबी है।
  • miniconda संस्करण नीचे एक slimmed है, ऐसा लगता है कि यह pip + virtualenv का उपयोग करने से अधिक आसान विकल्प हो सकता है, हालांकि मुझे व्यक्तिगत रूप से इसका उपयोग करने का अनुभव नहीं है।
  • जबकि conda आपको पैकेज स्थापित करने की अनुमति देता है, ये पैकेज पीईपीआई पैकेज से अलग हैं, इसलिए आपको अभी भी स्थापित करने के लिए आवश्यक संकुल के प्रकारों के आधार पर अतिरिक्त रूप से पीआईपी का उपयोग करने की आवश्यकता हो सकती है।

यह भी देखें:

+3

"कोंडा बनाम पाइप बनाम वर्चुअलनेव" लिंक मेरे लिए 404 लौटा, यहां नया है: [कोंडा बनाम पाइप बनाम वर्चुअलएन्व] (http://stuarteberg.github.io/ conda-डॉक्स/_downloads/conda-पिप-virtualenv-translator.html) – veggiebenz

संबंधित मुद्दे