पियेनव(pyenv) क्या है?
पियेनव क्या है और यह उपयोगी क्यों है?
पियेनव एक ऐसा टूल है जो कई वर्जन के पायथन को आसानी से इंस्टॉल और स्विच करने में मदद करता है। इसके द्वारा आप किसी खास प्रोजेक्ट में पायथन 3.9 का इस्तेमाल कर सकते हैं जबकि दूसरे प्रोजेक्ट में पायथन 3.7 का इस्तेमाल कर सकते हैं।
पियेनव क्यों अनुकूल है?
- कई पायथन वर्जन मैनेज कर सकता है: आमतौर पर, पायथन इंस्टॉल करने पर सिर्फ एक वर्जन का इस्तेमाल हो पाता है। लेकिन कई प्रोजेक्ट्स में अलग वर्जन की ज़रूरत हो सकती है। पियेनव की मदद से कई पायथन वर्जन को आसानी से इंस्टॉल और स्विच किया जा सकता है।
- सिस्टम पायथन को प्रभावित नहीं करता: पियेनव द्वारा मैनेज किए जाने वाले सिस्टम पायथन से अलग होते हैं, इसलिए इनके कारण सिस्टम पायथन को कोई नुकसान नहीं होता।
- आसानी से वर्जन बदले जा सकते हैं: प्रत्येक प्रोजेक्ट के लिए अलग पायथन वर्जन सेट किया जा सकता है, और पियेनव कमांड से उन्हें बदला जा सकता है।
सिस्टम पायथन को प्रभावित न करने का मतलब
- पृथक प्रबंधन: पियेनव यूज़र के होम डायरेक्टरी में अपने आप एक अलग इन्वायरमेंट बनाता है और उसमें पायथन वर्जन को मैनेज करता है। इससे सिस्टम के पूरे पायथन (सिस्टम पायथन) पर कोई असर नहीं पड़ता।
- सुरक्षा: सिस्टम पायथन कुछ ओएस टूल्स और स्क्रिप्ट पर निर्भर होता है। पियेनव का इस्तेमाल करके उन सिस्टम डिपेंडेंसी को बदले बिना अलग पायथन वर्जन इंस्टॉल और बदले जा सकते हैं।
- कॉम्पैटिबिलिटी: किसी खास प्रोजेक्ट के लिए नया पायथन वर्जन इस्तेमाल करना चाहते हैं तो पियेनव से सिस्टम पायथन को प्रभावित किए बिना ऐसा कर सकते हैं। इसी तरह अगर सिस्टम पायथन को अपडेट किया भी जाए तो पियेनव मैनेज किए गए प्रोजेक्ट्स प्रभावित नहीं होंगे।
पियेनव का बुनियादी इस्तेमाल
इंस्टॉलेशन:
- पियेनव Linux और macOS में टर्मिनल से और Windows में pyenv-win नाम के टूल से इंस्टॉल होता है।
- इंस्टॉलेशन के बाद,
pyenv install
कमांड से कोई भी पायथन वर्जन इंस्टॉल कर सकते हैं।
वर्जन स्विचिंग:
pyenv global 3.9.1
लिखने से डिफ़ॉल्ट पायथन वर्जन 3.9.1 हो जाएगा।- किसी खास प्रोजेक्ट का वर्जन अलग सेट करना है तो उस फ़ोल्डर में जाकर
pyenv local 3.8.5
का इस्तेमाल करें। ऐसा करने से उस फ़ोल्डर का पायथन वर्जन चुने हुए पर सेट हो जाएगा।
वर्जन चेक करना:
- अभी इस्तेमाल हो रहे पायथन वर्जन को जानने के लिए
pyenv version
डालें।
ध्यान देने योग्य बातें
- Windows यूजर्स pyenv के बजाय pyenv-win का इस्तेमाल करें। कमांड समान होते हैं लेकिन Windows के अनुसार एडजस्ट किए होते हैं।
यहां पर महत्वपूर्ण बातें:
- Windows में पहले से इंस्टॉल पायथन वर्जन पर निर्भर न रहकर, pyenv-win से आप नए वर्जन का इंस्टॉल कर पाएंगे। माने अगर Windows में पुराने वर्जन का पायथन हो तो भी pyenv-win से नया वर्जन लगाया जा सकता है।
- संक्षेप में कहें तो विंडोज़ में पहले से मौजूद पुराने पायथन वर्जन से परेशान हुए बिना भी pyenv-win से नए वर्जन को प्रॉब्लम फ्री इंस्टॉल और मैनेज किया जा सकता है।
pyenv या pyenv-win को इंस्टॉल करने का सबसे सही तरीका GitHub रेपो में दिए निर्देशों का पालन करना है, क्योंकि:
GitHub का पालन क्यों करें?
- सबसे नया पाएं: GitHub रेपो में डेवलपर्स लगातार नए अपडेट, बग फिक्स और सिक्योरिटी इम्प्रूवमेंट देते रहते हैं। ऑफिशियल डॉक्स फॉलो करने से हमेशा नया और सबसे सेफ इंस्टॉलेशन होगा।
- ऑफिशियल स्टेप्स: GitHub पर डिटेल में इंस्टॉलेशन के सही स्टेप्स और कॉन्फ़िगरेशन सेटिंग्स बताई होती हैं। इन्हें फॉलो करने से गलत सेटिंग्स या अनावश्यक इश्यू से बचा जा सकता है।
- ट्रबलशूटिंग: इंस्टॉलेशन में अगर कोई समस्या आए तो GitHub की “Issues” या “Discussions” सेक्शन देखने से पता चल जाएगा कि और लोगों ने ऐसा फेस किया है और उसका सोल्यूशन क्या है। ज्यादातर बार अन्य यूजर या डेवलपर्स मदद कर देते हैं।
- कम्युनिटी सपोर्ट: GitHub रेपो पर अन्य यूजर्स और डेवलपर्स सपोर्ट या सलाह देते हैं। इंस्टॉलेशन संबंधी सवाल या समस्या पोस्ट करने पर कम्युनिटी से मदद मिल सकती है।
इसलिए इन सब निर्देशों को डायरेक्ट यूजर को बताने की जरूरत नहीं है। न ही इसमें टैग, MIME टाइप (जैसे application/vnd.ant.code), या सिंटैक्स के बारे में मेंशन करना जरूरी है, अगर वो डायरेक्ट क्वेरी से रिलेटेड न हो।
याद रखें कि artifacts सिर्फ उन केसेज़ में बनाएं जो शुरू में दी गई क्राइटेरिया पूरी करते हों। बेहतर होगा कि हर जगह artifacts का यूज ना किया जाए।
इसलिए इंस्टॉलेशन के लिए निम्न पेज का संदर्भ लेंगे। https://github.com/pyenv-win/pyenv-win
मैंने खासतौर पर pyenv का इस्तेमाल करने का निर्णय लिया क्योंकि इससे प्रोजेक्ट (डायरेक्टरी) के अनुसार पायथन के वर्जन को बदला जा सकता है।
.
├── global (Python 3.10)
│
├── project1/
│ └── .python-version (Python 3.12)
│
├── project2/
│ └── .python-version (Python 3.8)
│
└── project3/
└── .python-version (Python 3.9)
स्पष्टीकरण
global: ग्लोबल सेटिंग में Python 3.10 का इस्तेमाल हो रहा है।
project1: project1 फोल्डर में pyenv local द्वारा Python 3.12 सेट किया गया है।
project2: project2 फोल्डर में Python 3.8 कॉन्फ़िगर किया गया है।
project3: project3 फोल्डर के लिए Python 3.9 डिफ़ाइन किया गया है।
और ये एक प्रैक्टिकल उदाहरण है:
.
├── global (Python 3.10)
│
├── stable-diffusion/
│ └── .python-version (Python 3.9)
│
├── flask-web-app/
│ └── .python-version (Python 3.8)
│
└── data-analysis/
└── .python-version (Python 3.12)
GitHub के पेज पर PowerShell में कमांड डालने का उल्लेख है, लेकिन हम इसे VS CODE के टर्मिनल में करेंगे। ये क्विक इंस्टॉलेशन के तौर पर दिया गया है।
Invoke-WebRequest -UseBasicParsing -Uri “https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1” -OutFile “./install-pyenv-win.ps1″; &”./install-pyenv-win.ps1″
ये कमांड बेसिक तौर पर होम डायरेक्टरी में रन करने की सलाह दी जाती है।
कारण
फाइल्स की जगह: ये कमांड pyenv-win के इंस्टॉलेशन स्क्रिप्ट को एक्ज़ीक्यूट करता है, लेकिन डिफ़ॉल्ट से pyenv से जुड़ी फाइल्स को होम डायरेक्टरी में रखता है।
होम डायरेक्टरी में रन करने से इंस्टॉल की गई फाइल्स सही जगह पर जाएंगी और pyenv-win उम्मीद के मुताबिक काम करेगा।
स्क्रिप्ट एक्ज़ीक्यूशन: Invoke-WebRequest कमांड से स्क्रिप्ट डाउनलोड होता है और फिर सीधे एक्ज़ीक्यूट हो जाता है। ये स्क्रिप्ट जिस डायरेक्टरी से चलाई जाती है उसका असर इंस्टॉल्ड पाथ और एनवायरमेंट वैरिएबल्स पर पड़ सकता है।
आम प्रैक्टिस: यूज़र के टूल्स और स्क्रिप्ट्स को होम डायरेक्टरी में इंस्टॉल करना एक आम बात है। इससे अलग यूज़र्स की सेटिंग्स और फाइल्स मिक्स नहीं होंगी और एनवायरमेंट मैनेज करना आसान होगा।
लेकिन एरर आया।
Directory: C:\Users\minok
Mode LastWriteTime Length Name
d—- 2024/08/16 17:18 .pyenv
Microsoft.PowerShell.Archive\Expand-Archive : मॉड्यूल ‘Microsoft.PowerShell.Archive’ लोड नहीं किया जा सका. ज्यादा जानकारी के लिए ‘Import-Module Microsoft.PowerShell.Archive’ रन करें.
At line:1 char:1
Microsoft.PowerShell.Archive\Expand-Archive -Path “C:\Users\minok.py …
~~~~~~~~~~~
CategoryInfo : ObjectNotFound: (Microsoft.Power…\Expand-Archive:String) [], CommandNotFoundException
FullyQualifiedErrorId : CouldNotAutoLoadModule
Move-Item: C:\Users\minok\install-pyenv-win.ps1:126:5
Line |
126 | Move-Item -Path “$PyEnvDir\pyenv-win-master*” -Destination “$PyE …
| ~~~~~~~~~~~~~
| Cannot find path ‘C:\Users\minok.pyenv\pyenv-win-master’ because it does not exist.
Remove-Item: C:\Users\minok\install-pyenv-win.ps1:127:5
Line |
127 | Remove-Item -Path “$PyEnvDir\pyenv-win-master” -Recurse
| ~~~~~~~~~~~
| Cannot find path ‘C:\Users\minok.pyenv\pyenv-win-master’ because it does not exist.
pyenv-win is successfully installed. You may need to close and reopen your terminal before using it.
मैसेज से पता चलता है कि pyenv-win इंस्टॉलेशन प्रोसेस में कुछ एरर हुए हैं, लेकिन फिर भी आखिर में “pyenv-win is successfully installed” दिख रहा है। इसका मतलब इंस्टॉलेशन कुछ हद तक सफल भी हुआ है।
एरर्स और उनके सॉल्यूशन
- Microsoft.PowerShell.Archive मॉड्यूल लोड न होना:
ये एरर बताता है कि Expand-Archive कमांड चलाते वक्त Microsoft.PowerShell.Archive मॉड्यूल लोड नहीं हो पाया। इस मॉड्यूल का इस्तेमाल जिप फाइल्स अनजिप करने आदि में होता है।
सॉल्यूशन: Import-Module Microsoft.PowerShell.Archive
कमांड रन करके मॉड्यूल मैन्युअली इम्पोर्ट करने की कोशिश करें। उसके बाद इंस्टॉलेशन स्क्रिप्ट दोबारा चलाएं।
- Move-Item और Remove-Item एरर:
दिए गए डायरेक्टरी पाथ पर जरूरी फाइल्स न होने के कारण मूव और डिलीट करते वक्त एरर आ रहा है। ये Expand-Archive के फेल होने की वजह से जरूरी फाइल अनजिप ना हो पाने के कारण हुआ है।
अगले कदम
- टर्मिनल को दोबारा शुरू करें:
मैसेज के मुताबिक टर्मिनल बंद करके फिर खोलने से pyenv कमांड काम करने लगे।
- pyenv वर्जन चेक करें:
pyenv --version
रन करके pyenv-win ठीक से इंस्टॉल हो गया है या नहीं ये जांच लें।
- मॉड्यूल इम्पोर्ट और रीरन: अगर
pyenv --version
काम न करे तो ये स्टेप्स फॉलो करें:
- मॉड्यूल मैन्युअली इम्पोर्ट करें:
Import-Module Microsoft.PowerShell.Archive
- इंस्टॉलेशन स्क्रिप्ट फिर से रन करें।
लेकिन फिर भी एरर आता है:
/install-pyenv-win.ps1″ -OutFile “./install-pyenv-win.ps1″; &”./install-pyenv-win.ps1″
New-Item: C:\Users\minok\install-pyenv-win.ps1:115:5
Line |
115 | New-Item -Path $PyEnvDir -ItemType Directory
| ~~~~~~~~~~~~
| An item with the specified name C:\Users\minok.pyenv already exists.
Microsoft.PowerShell.Archive\Expand-Archive : मॉड्यूल ‘Microsoft.PowerShell.Archive’ लोड नहीं हो पाया। अधिक जानकारी के लिए, ‘Import-Module Microsoft.PowerShell.Archive’ रन करें।
At line:1 char:1
Microsoft.PowerShell.Archive\Expand-Archive -Path “C:\Users\minok.py …
~~~~~~~~~~~
CategoryInfo : ObjectNotFound: (Microsoft.Power…\Expand-Archive:String) [], CommandNotFoundException
FullyQualifiedErrorId : CouldNotAutoLoadModule
Move-Item: C:\Users\minok\install-pyenv-win.ps1:126:5
Line |
126 | Move-Item -Path “$PyEnvDir\pyenv-win-master*” -Destination “$PyE …
| ~~~~~~~~~~~~~
| Cannot find path ‘C:\Users\minok.pyenv\pyenv-win-master’ because it does not exist.
Remove-Item: C:\Users\minok\install-pyenv-win.ps1:127:5
Line |
127 | Remove-Item -Path “$PyEnvDir\pyenv-win-master” -Recurse
| ~~~~~~~~~~~
| Cannot find path ‘C:\Users\minok.pyenv\pyenv-win-master’ because it does not exist.
pyenv-win is successfully installed. You may need to close and reopen your terminal before using it.
इस संदेश को देखने से लगता है कि pyenv-win का इंस्टॉलेशन अभी भी कुछ हद तक ठीक से नहीं हुआ है। Microsoft.PowerShell.Archive मॉड्यूल की समस्या का समाधान नहीं होने के कारण, ज़िप फ़ाइलों को एक्सट्रैक्ट करने में विफल रहा है और उससे संबंधित एरर आ रहे हैं। हम VS Code को रीस्टार्ट कर देते हैं।
<समस्या निवारण>
PowerShell वर्ज़न की जाँच: सबसे पहले, PowerShell के वर्ज़न को चेक करें। Microsoft.PowerShell.Archive मॉड्यूल PowerShell 5.1 और उसके बाद के वर्ज़न में डिफ़ॉल्ट रूप से शामिल होता है, इसलिए अगर PowerShell पुराना है तो उसे अपग्रेड करना होगा। वर्ज़न चेक करने के लिए निम्न कमांड का इस्तेमाल कर सकते हैं।
$PSVersionTable.PSVersion
मॉड्यूल को मैन्युअल रूप से इम्पोर्ट करना: यदि PowerShell का वर्ज़न 5.1 या उससे ऊपर है, तो निम्न कमांड से चेक करें कि मॉड्यूल सही से इम्पोर्ट हो रहा है या नहीं।
Import-Module -Name Microsoft.PowerShell.Archive
अगर इससे एरर ठीक हो जाता है, तो इंस्टॉलेशन स्क्रिप्ट को फिर से रन करके देखें। लेकिन अभी भी Microsoft.PowerShell.Archive मॉड्यूल लोड नहीं हो पा रहा है, इसलिए ज़िप फ़ाइल एक्सट्रैक्ट करने में विफल है और उससे जुड़े कई एरर आ रहे हैं। हालाँकि, अंत में “pyenv-win is successfully installed” का मैसेज दिखता है।
चलिए अब PowerShell के वर्ज़न की जाँच करते हैं, पर वो पहले से ही पूरी हो चुकी है।
PS C:\Users\minok> $PSVersionTable.PSVersion
Major Minor Patch PreReleaseLabel BuildLabel
—– —– —– ————— ———-
7 4 4
एनवायरमेंट वेरिएबल्स की जाँच
अगला कदम है एनवायरमेंट वेरिएबल्स को चेक करना। नीचे दिए गए पाथ जुड़े हुए दिख रहे हैं:
C:\Users\minok.pyenv\pyenv-win\bin
C:\Users\minok.pyenv\pyenv-win\shims
बर्शन की जाँच
अब, विंडोज़ का होम डायरेक्टरी कहाँ है, ये पता लगाते हैं। नीचे के रिज़ल्ट से पता चलता है कि ये कमांड चलाए जाने वाली जगह है।
PS C:\Users\minok> cd\
PS C:> cd $HOME
PS C:\Users\minok>
होम डायरेक्टरी कहाँ है ये तो पता चल गया, लेकिन अंदर देखने पर कुछ भी नहीं मिला। ये एनवायरमेंट वेरिएबल्स में जुड़े पाथ को चेक करने जैसा है।
PS C:\Users\minok> cd .pyenv
PS C:\Users\minok.pyenv> dir
PS C:\Users\minok.pyenv>
मैन्युअल क्लोनिंग
इसलिए मैन्युअली क्लोन बनाने का फैसला किया। होम डायरेक्टरी में रहते हुए नीचे दिया गया कमांड चलाएँ। इससे ज़रूरी फाइल्स C:\Users\minok\.pyenv\pyenv-win
फोल्डर में डाउनलोड हो जाएंगी।
git clone https://github.com/pyenv-win/pyenv-win.git $HOME\.pyenv\pyenv-win
विंडोज़ के होम डायरेक्टरी की जाँच
बर्शन चेक करते हैं।
PS C:\Users\minok.pyenv> pyenv version
3.7.4 (set by C:\Users\minok.pyenv.python-version)
आखिरकार सब कुछ काम करने लगा। हालाँकि, VS CODE में ठीक चल रहा है, लेकिन PowerShell में कभी-कभी नीचे दिया गया एरर आ सकता है।
PS C:\Users\minok> pyenv version
pyenv : इस सिस्टम पर स्क्रिप्ट एक्ज़ीक्यूशन डिसेबल होने के कारण, फाइल C:\Users\minok.pyenv\pyenv-win\bin\pyenv.ps1 लोड नहीं की जा सकती। अधिक जानकारी के लिए, “about_Execution_Policies” (https://go.microsoft.com/fwlink/?LinkID=135170) देखें।
At line:1 char:1
pyenv version
~
CategoryInfo : सिक्योरिटी एरर: (: ) []、PSSecurityException
FullyQualifiedErrorId : UnauthorizedAccess
खोजने पर निम्नलिखित बातें पता चलीं। ये समस्या PowerShell की एक्ज़ीक्यूशन पॉलिसी द्वारा स्क्रिप्ट के एक्ज़ीक्यूशन की अनुमति न देने के कारण हो रही है। चलिए इस समस्या को ठीक करते हैं।
एक्ज़ीक्यूशन पॉलिसी बदलने के चरण
वर्तमान एक्ज़ीक्यूशन पॉलिसी चेक करना:
मौजूदा एक्ज़ीक्यूशन पॉलिसी जानने के लिए, PowerShell में निम्न कमांड चलाएं।
Get-ExecutionPolicy
इससे वर्तमान एक्ज़ीक्यूशन पॉलिसी दिखेगी।
एक्ज़ीक्यूशन पॉलिसी बदलना:
स्क्रिप्ट एक्ज़ीक्यूशन की अनुमति देने के लिए, निम्न कमांड चलाएं। आमतौर पर “RemoteSigned” या “Unrestricted” में से एक सेट किया जाता है।
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
अब लोकल स्क्रिप्ट एक्ज़ीक्यूट होंगी, और रिमोट से डाउनलोड की गई स्क्रिप्ट साइन की होने पर एक्ज़ीक्यूट होंगी।
जाँच करना:
एक्ज़ीक्यूशन पॉलिसी बदलने के बाद, pyenv का वर्ज़न चेक करने के लिए निम्न में से कोई एक कमांड फिर से चलाएं।
pyenv --version
या
pyenv version
ध्यान देने योग्य बातें
- एक्जीक्यूशन पॉलिसी बदलते समय एडमिन अधिकार की आवश्यकता हो सकती है। उपरोक्त कमांड चलाने से पहले PowerShell को “एडमिन के रूप में रन” करें।
- एक्जीक्यूशन पॉलिसी बदलने के बाद, आप फिर से पॉलिसी की जाँच कर सकते हैं।
ध्यान दें कि PowerShell में आउटपुट कुछ इस तरह दिखता है:
PS C:\Users\minok> pyenv version
No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global
pyenv global 3.7.4
pyenv local
pyenv local 3.7.4
कुछ प्रोजेक्ट्स में विशिष्ट python वर्ज़न निर्दिष्ट किया जा सकता है। इसलिए, हम केवल एक खास प्रोजेक्ट (फोल्डर) के लिए Python वर्ज़न बदलने का प्रयास करेंगे। ऐसा करने के लिए, हम pyenv local
कमांड का उपयोग करते हैं। इस कमांड को चलाने से, केवल निर्दिष्ट डायरेक्टरी के अंदर चुना गया Python वर्ज़न लागू होगा। Python 3.12 का उपयोग करते हुए समझाया जा रहा है।
चरण 1: Python 3.12 का इंस्टॉलेशन
सबसे पहले, pyenv-win का उपयोग करके Python 3.12 को इंस्टॉल करें।
- टर्मिनल खोलें:
PowerShell या VS Code टर्मिनल खोलें। - इंस्टॉल करने योग्य Python वर्शन की सूची देखें:
इंस्टॉल करने योग्य Python वर्शन देखने के लिए निम्न कमांड डालें।
pyenv install --list
सूची में से 3.12.0 ढूंढें।
- Python 3.12 इंस्टॉल करें:
Python 3.12 इंस्टॉल करने के लिए निम्न कमांड डालें।
pyenv install 3.12.0
इससे Python 3.12.0 इंस्टॉल हो जाएगा।
चरण 2: किसी खास प्रोजेक्ट में Python 3.12 का उपयोग
अब, किसी खास प्रोजेक्ट फोल्डर में Python 3.12 का उपयोग करने के लिए सेट करते हैं।
- प्रोजेक्ट फोल्डर में नेविगेट करें:
उस प्रोजेक्ट फोल्डर में जाएँ जिसमें Python वर्शन बदलना है। उदाहरण के लिए, यदि आप sample नाम के फोल्डर में जाना चाहते हैं, तो निम्न कमांड का उपयोग करें।
cd C:\youtube\sample
- Python 3.12 सेट करें:
प्रोजेक्ट फोल्डर के अंदर, Python 3.12 को उस फोल्डर के लिए सेट करने हेतु निम्न कमांड चलाएँ।
pyenv local 3.12.0
ऐसा करने से उस फोल्डर में Python 3.12.0 का उपयोग होगा।
चरण 3: सेटिंग की जाँच करना
अंत में, सेटिंग्स सही हैं इसकी पुष्टि करें।
- वर्शन चेक करें:
वर्तमान Python वर्शन की जानकारी के लिए निम्न कमांड चलाएँ।
pyenv version
यदि आउटपुट 3.12.0 (set by <प्रोजेक्ट-फोल्डर-पाथ>)
आता है, तो सेटिंग सफल है।
ये ध्यान देने वाली बात है। pyenv version
के अलावा pyenv versions
नामक एक और कमांड भी है। pyenv version
और pyenv versions
समान लगते हैं, इसलिए कन्फ्यूजन हो सकता है।
“pyenv से Python वर्शन मैनेज करना: बिगिनर्स के लिए कन्फ्यूजिंग पॉइंट्स का एक्सप्लेनेशन”
pyenv एक उपयोगी टूल है जो मल्टीपल Python वर्शन को मैनेज करने में मदद करता है। लेकिन, नए लोगों को pyenv version
और pyenv versions
के बीच का अंतर समझने में दिक्कत हो सकती है। यहाँ हम उन दोनों कमांड्स के इस्तेमाल और Python वर्शन को अच्छे से मैनेज करने का तरीका समझाते हैं।
“pyenv version और pyenv versions में अंतर”
pyenv version
इस्तेमाल करना:
ये कमांड चेक करने के लिए है कि अभी कौन सा Python वर्शन इस्तेमाल हो रहा है। मसलन, किसी प्रोजेक्ट में कौन सा Python वर्शन एक्टिव है, ये आसानी से पता लगाया जा सकता है।
उदाहरण:
> pyenv version
3.10.0 (set by C:\Users\minok\.pyenv\version)
pyenv versions
इस्तेमाल करना:
ये कमांड pyenv के अंतर्गत मौजूद सभी Python वर्शन को लिस्ट करता है। इससे किन-किन Python वर्शन को इंस्टॉल किया गया है, एक नज़र में देख सकते हैं।
उदाहरण:
> pyenv versions
3.7.4
* 3.10.0 (set by C:\Users\minok\.pyenv\version)
3.12.0
“राइट कमांड चुनने के सिचुएशन”
pyenv version
कब इस्तेमाल करें:
जब किसी प्रोजेक्ट में अभी कौन सा Python वर्शन इस्तेमाल हो रहा है ये जानना हो। स्पेसिफिक फोल्डर में जाकर कमांड चलाने से, उस फोल्डर में सेट Python वर्शन दिखेगा।
pyenv versions
कब इस्तेमाल करें:
जब सारे इंस्टॉल्ड Python वर्शन देखने हों। होम डायरेक्टरी या ऐसे डायरेक्टरी से चलाएं जो किसी प्रोजेक्ट का हिस्सा न हो।
“कन्फ्यूजन से बचने के टिप्स”
pyenv global
का प्रयोग:
पूरे सिस्टम में इस्तेमाल होने वाले Python वर्शन सेट करने के लिए pyenv global
का इस्तेमाल करें। इससे किसी भी डायरेक्टरी में डिफ़ॉल्ट रूप से वही वर्शन इस्तेमाल होगा।
डायरेक्टरी में मूव और कमांड एक्ज़ीक्यूट:
pyenv versions
चलाने की लोकेशन के हिसाब से रिज़ल्ट बदलता है। तो आउटपुट देखते हुए काम करने से चीज़ें बेहतर समझ आएंगी।
“सारांश और अगले कदम”
pyenv का उपयोग करके Python वर्शन को मैनेज करना सीखने से, हर प्रोजेक्ट के लिए अलग एनवायरमेंट सेट करना आसान हो जाता है। बिगिनर्स भी इस आर्टिकल को पढ़कर आत्मविश्वास के साथ Python वर्शन मैनेजमेंट कर सकते हैं।
आगे चलकर, किसी स्पेसिफिक प्रोजेक्ट में Python वर्शन को स्विच करने का तरीका विस्तार से सीखेंगे।
बोनस: याद रखने के लिए तीन बेहतरीन उदाहरण
pyenv version
के बारे में
इस्तेमाल: ये कमांड अभी इस्तेमाल हो रहे Python वर्शन को चेक करने के लिए है।
याद रखने का तरीका: “version मतलब ‘अभी कौन सा?'” ऐसा याद रखें। ये कमांड चलाने पर वर्तमान Python वर्शन दिखाई देगा।
कब उपयोग करें: जब अभी इस्तेमाल हो रहे Python वर्शन को जानना हो।
pyenv versions
के बारे में
इस्तेमाल: ये कमांड pyenv में मैनेज किए जा रहे सभी Python वर्शंस की लिस्ट दिखाता है।
याद रखने का तरीका: “versions मतलब ‘सारे वर्शन'” ऐसा याद रखें। ये कमांड चलाने पर इंस्टॉल किए गए सभी Python वर्शंस की लिस्ट आएगी।
कब उपयोग करें: जब इंस्टॉल्ड Python वर्शंस देखने हों।
pyenv version
मतलब अभी इस्तेमाल हो रहे टूल को उठाकर चेक करना
उदाहरण: अभी किस टूल (Python वर्शन) से काम चल रहा है जानने के लिए टूल बॉक्स से उसे उठाकर पक्का करने जैसा है।
pyenv versions
मतलब पूरे टूल बॉक्स के सारे सामान को एक नज़र में देखना
उदाहरण: टूल बॉक्स में कौन-कौन से टूल्स (Python वर्शंस) हैं, उन्हें एक साथ निकालकर चेक करने जैसा है।
pyenv version
का उदाहरण:
“प्रोजेक्ट A पर काम करते वक्त, कौन सा Python वर्शन इस्तेमाल हो रहा है जानने के लिए pyenv version
चलाता हूँ।”
pyenv versions
का उदाहरण:
“अब इंस्टॉल्ड Python वर्शंस चेक करने के लिए, pyenv versions
चलाकर उपलब्ध सारे वर्शंस की लिस्ट देखता हूँ।”