Pyenv - विशिष्ट परियोजना के लिए एकाधिक पायथन संस्करण स्थापित करें


लिनक्स सिस्टम पर पायथन के कई संस्करणों का प्रबंधन करना आसान काम नहीं है, खासकर शुरुआती लोगों के लिए। कभी-कभी यह और भी बदतर हो जाता है जब आप एक ही सर्वर पर विभिन्न पायथन संस्करणों के साथ कई परियोजनाओं को विकसित और चलाना चाहते हैं। हालाँकि, यदि आप pyenv नियोजित करते हैं, तो ऐसा नहीं होना चाहिए।

Pyenv लिनक्स सिस्टम पर कई पायथन संस्करणों का प्रबंधन करने के लिए एक सरल, शक्तिशाली और क्रॉस-प्लेटफ़ॉर्म टूल है, जिसका उपयोग किया जाता है।

  • Switching the global Python version on a per-user basis.
  • setting the local Python version on per-project basis.
  • Managing of virtual environments created by anaconda or virtualenv.
  • Overriding the Python version with an environment variable.
  • Searching commands from multiple versions of Python and more.

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

ये shims आपके PATH के सामने एक निर्देशिका में pyenv द्वारा डाले जाते हैं। इसलिए जब आप पायथन कमांड चलाते हैं, तो यह उपयुक्त शिम द्वारा इंटरसेप्ट किया जाता है और pyenv से गुजरता है, जो तब पायथन संस्करण को स्थापित करता है जो आपके एप्लिकेशन द्वारा निर्दिष्ट किया गया है, और गुजरता है सही पायथन स्थापना के साथ आपके आदेश। यह कैसे pyenv संचालित होता है, इसका अवलोकन है।

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

कैसे लिनक्स में Pyenv स्थापित करने के लिए

1। पहले अपने संबंधित लिनक्स वितरण पर कमांड का उपयोग करके स्रोतों से विभिन्न पायथन संस्करणों को स्थापित करने के लिए सभी आवश्यक पैकेज स्थापित करें।

------------ On Debian/Ubuntu/Linux Mint ------------ 
$ sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev

------------ On CentOS/RHEL ------------
# yum -y install epel-release
# yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

------------ On Fedora 22+ ------------
# yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

2। अगला, अपने गितुब भंडार से नवीनतम pyenv स्रोत वृक्ष को पकड़ो और इसे /home/mial/.pyenv पथ में स्थापित करें - निम्नलिखित का उपयोग करते हुए आदेश।

$ git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

3। अब आपको उस पथ को इंगित करने के लिए पर्यावरण चर PYENV_ROOT सेट करने की आवश्यकता है जहां आपने pyenv स्थापित किया है और इसे निर्यात करें। फिर PATH को pyenv कमांड-लाइन उपयोगिता किसी अन्य सिस्टम कमांड की तरह अपने /bin जोड़ें।

आपको अपने शेल में pyenv init जोड़कर शम्स के साथ-साथ स्वतः पूर्णता को सक्षम करने की भी आवश्यकता है। इन सभी चीजों को अपनी /home/mial/.bashrc bash स्टार्टअप फ़ाइल के अनुसार करें, जैसा कि दिखाया गया है।

$ vim $HOME/.bashrc 

इस फ़ाइल के अंत में निम्नलिखित पंक्तियों को कॉपी और पेस्ट करें।

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

4। एक बार जब आप उपरोक्त परिवर्तन कर लेते हैं, तो आप स्रोत /home/mial/.bashrc फ़ाइल या खोल के रूप में दिखाए गए को पुनः आरंभ कर सकते हैं।

$ source $HOME/.bashrc
OR
$ exec "$SHELL"

लिनक्स में मल्टीपल पायथन संस्करण कैसे स्थापित करें

5। इस बिंदु पर, आपको pyenv का उपयोग शुरू करने के लिए तैयार होना चाहिए। किसी भी पायथन संस्करण को स्थापित करने से पहले, आप इस कमांड के साथ सभी उपलब्ध संस्करण देख सकते हैं।

$ pyenv install -l

6। अब आप उदाहरण के लिए pyenv के माध्यम से कई पायथन संस्करण स्थापित कर सकते हैं।

$ pyenv install 3.6.4
$ pyenv install 3.6.5

7। pyenv के लिए उपलब्ध सभी पायथन संस्करणों को सूचीबद्ध करने के लिए, निम्न कमांड चलाएँ। यह केवल pyenv के माध्यम से स्थापित संस्करण दिखाएगा।

$ pyenv versions

8। आप निम्न आदेश के साथ वैश्विक पायथन संस्करण की जांच कर सकते हैं, इस समय तक, डिफ़ॉल्ट संस्करण को सिस्टम द्वारा निर्धारित किया जाना चाहिए, न कि pyenv

$ pyenv global

आप pyenv कमांड का उपयोग करके वैश्विक पायथन संस्करण सेट कर सकते हैं।

$ pyenv global 3.6.5
$ pyenv global

9। अब आप प्रति प्रोजेक्ट के आधार पर स्थानीय पायथन संस्करण सेट कर सकते हैं, उदाहरण के लिए, यदि आपके पास एक परियोजना है, जो /home/mial/python_projects/test में है, तो आप निम्नलिखित आदेश का उपयोग करके इसका पायथन संस्करण सेट कर सकते हैं।

$ cd python_projects/test
$ pyenv local 3.6.5
$ pyenv version		#view local python version for a specific project 
OR
$ pyenv versions

10। Pyenv pyenv-virtualenv plugin के माध्यम से आभासी वातावरण का प्रबंधन करता है, जो virtualenvs और conda// वातावरणों के प्रबंधन को स्वचालित करता है। लिनक्स और अन्य यूनिक्स जैसी प्रणालियों पर।

आप निम्न कमांड का उपयोग करके इस प्लगइन को स्थापित करके शुरू कर सकते हैं।

$ git clone https://github.com/yyuu/pyenv-virtualenv.git   $HOME/.pyenv/plugins/pyenv-virtualenv
$ source $HOME/.bashrc

11। अब हम एक परियोजना के तहत venv_project1 नामक एक परीक्षण वर्चुअल वातावरण बनाएंगे, जिसे project1 नामक इस प्रकार से बनाया जाएगा।

$ cd python_projects
$ mkdir project1
$ cd project1
$ pyenv virtualenv 3.6.5 venv_project1

12। अब जब आप सभी पायथन संस्करणों को सूचीबद्ध करते हैं, तो आपके आभासी वातावरण के साथ-साथ उनके स्थानीय अजगर संस्करणों को भी सूचीबद्ध किया जाना चाहिए, जैसा कि स्क्रीनशॉट में दिखाया गया है।

$ pyenv versions

13। virtualenv सक्रिय करने के लिए, उदाहरण के लिए venv_project1 , निम्न कमांड टाइप करें।

$ pyenv activate venv_project1

लाल

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

अपनी /home/mial/.bashrc फ़ाइल में निर्यात PYENV_VIRTUALENV_DISABLE_PROMPT = 1 फ़ाइल जोड़ें, जहां फ़ाइल को अन्य pyenv configs , और स्रोत को जोड़ा। व्यवहार पर जोर देने के लिए अनुकरण करना।

14। सक्रिय वर्चुअन को निष्क्रिय करने के लिए, इस कमांड को चलाएँ।

$ pyenv deactivate

अधिक जानकारी के लिए, आप निम्नलिखित कमांड का उपयोग करके सभी pyenv कमांड को सूचीबद्ध कर सकते हैं।

$ pyenv commands

अधिक जानकारी के लिए, pyenv Github भंडार पर जाएँ: https://github.com/pyenv/pyenv

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