मेरे पास मेरी मशीन पर स्थापित पायथन के दो संस्करण थे (संस्करण 2.6 और 2.5)। मैं एक परियोजना के लिए 2.6 और दूसरे के लिए 2.5 चलाना चाहता हूं।
मैं वह कैसे निर्दिष्ट कर सकता हूं जिसका मैं उपयोग करना चाहता हूं?
मैं Windows XP SP2 पर काम कर रहा हूं।
मेरे पास मेरी मशीन पर स्थापित पायथन के दो संस्करण थे (संस्करण 2.6 और 2.5)। मैं एक परियोजना के लिए 2.6 और दूसरे के लिए 2.5 चलाना चाहता हूं।
मैं वह कैसे निर्दिष्ट कर सकता हूं जिसका मैं उपयोग करना चाहता हूं?
मैं Windows XP SP2 पर काम कर रहा हूं।
जवाबों:
पायथन की एक अलग प्रति चलाना उतना ही आसान है जितना कि सही निष्पादन योग्य शुरू करना। आप उल्लेख करते हैं कि आपने केवल टाइप करके, कमांड लाइन से अजगर उदाहरण शुरू किया है python
।
यह विंडोज के तहत क्या करता है, %PATH%
पर्यावरण चर को ट्रैक करने के लिए है, एक निष्पादन योग्य, या तो बैच फ़ाइल ( .bat
), कमांड फ़ाइल ( .cmd
) या चलाने के लिए कुछ अन्य निष्पादन योग्य (यह PATHEXT
पर्यावरण चर द्वारा नियंत्रित किया जाता है) की जाँच करता है, जो दिए गए नाम से मेल खाता है। जब पता चलता है कि फ़ाइल को चलाने के लिए सही फ़ाइल चल रही है।
अब, यदि आपने दो अजगर संस्करणों को 2.5 और 2.6 में स्थापित किया है, तो पथ में उनकी दोनों निर्देशिकाएं PATH=c:\python\2.5;c:\python\2.6
होंगी , जैसे कुछ लेकिन विंडोज एक मैच खोजने पर पथ की जांच करना बंद कर देगा।
आपको वास्तव में क्या करने की आवश्यकता है, स्पष्ट रूप से एक या दोनों अनुप्रयोगों को कॉल करने के लिए, जैसे कि c:\python\2.5\python.exe
या c:\python\2.6\python.exe
।
अन्य विकल्प संबंधित python.exe
कॉलिंग में से एक को शॉर्टकट बनाना है python25
और दूसरे को python26
; फिर आप python25
अपनी कमांड लाइन पर बस चला सकते हैं ।
समस्या के दो और समाधान जोड़ना:
#! c:\[path to Python 2.5]\python.exe
- उन स्क्रिप्ट के लिए जिन्हें आप पायथन 2.5 के साथ चलाना चाहते हैं
#! c:\[path to Python 2.6]\python.exe
- उन स्क्रिप्ट्स के लिए जिन्हें आप पायथन 2.6 के साथ चलाना चाहते हैं
या python
रन कमांड के बजाय पाइलॉन्चर कमांड चलाएं ( py
) पाइथन के कौन से संस्करण को आप चाहते हैं;
py -2.6
- संस्करण 2.6
py -2
- नवीनतम स्थापित संस्करण 2.x
py -3.4
- संस्करण 3.4
py -3
- नवीनतम स्थापित संस्करण 3.x
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
उदाहरण के लिए
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
तब आप पहले सक्रिय कर सकते हैं और इस तरह अजगर 2.5 के साथ काम कर सकते हैं
c:\venvs\2.5\activate
और जब आप अजगर 2.6 पर स्विच करना चाहते हैं तो आप करते हैं
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
:। यह विंडोज 10 पर है अगर इससे फर्क पड़ता है। इसके अलावा, एक आकर्षण की तरह काम करता है, धन्यवाद।
पायथन 3.3 पर, विंडोज के लिए आधिकारिक पायथन लॉन्चर है ( http://www.python.org/dev/peps/pep-0397/ )। अब, आप #!pythonX
विंडोज पर भी दुभाषिया के वांछित संस्करण को निर्धारित करने के लिए उपयोग कर सकते हैं । मेरी अन्य टिप्पणी में अधिक विवरण देखें या पीईपी 397 पढ़ें।
सारांश:py script.py
शुरूआत अजगर संस्करण में कहा गया #!
अजगर 2 या अगर #!
याद आ रही है। py -3 script.py
शुरूआत अजगर 3।
.py
विस्तार के साथ संघों को सेट करता है । लॉन्चर में ही स्थापित किया गया है C:\Windows
कि पहले से ही है PATH
। इस तरह, PATH
चर को भी संशोधित करने की आवश्यकता नहीं है।
@Alexander के अनुसार आप नीचे दिए गए प्रतीकात्मक लिंक का एक सेट बना सकते हैं। उन्हें कहीं रख दें जो आपके मार्ग में शामिल है ताकि उन्हें आसानी से लागू किया जा सके
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
जब तक c: \ bin या जहाँ कभी आपने उन्हें अपने पथ में रखा था, अब आप जा सकते हैं
> python25
mklink
केवल विंडोज विस्टा / 2008 + में ही उपलब्ध है। XP और सर्वर 2003 fsutil hardlink create <new filename> <existing filename>
पर आपके पथ में कहीं पर <नया फ़ाइल नाम> डालने और उपयोग करने या स्थानांतरित करने के बजाय एक "हार्डलिंक" बनाया जा सकता है । हालांकि हार्डलिंक केवल एक ही ड्राइव पर काम करते हैं।
अजगर स्थापित करें
वातावरण विविधता
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
फ़ाइल का नाम बदलें
रंज
python2 -m pip install package
python3 -m pip install package
python
कमांड ओएस के लिए भ्रामक होगा।
उदाहरण के लिए 3.6 संस्करण प्रकार py -3.6
। यदि आपके पास 32 बिट और 64 बिट संस्करण भी हैं, तो आप बस टाइप कर सकते हैं py -3.6-64
या py -3.6-32
।
py
निष्पादन योग्य कहां है - क्या यह केवल विंडोज़ के अलावा है? क्या इसे क्रॉस-प्लेटफॉर्म कमांड-लाइन स्क्रिप्ट में शामिल करना संभव है जो शीर्ष पर है: #!/usr/bin/env python3
उदाहरण के लिए?
जब आप पायथन को स्थापित करते हैं, तो यह अन्य प्रमुख संस्करणों के अन्य इंस्टॉल को अधिलेखित नहीं करेगा। इसलिए Python 2.5.x को स्थापित करना Python 2.6.x को अधिलेखित नहीं करेगा, हालांकि 2.6.6 को स्थापित करने से 2.6.5 ओवरराइट हो जाएगा।
तो आप बस इसे स्थापित कर सकते हैं। फिर आप पाइथन संस्करण को कॉल करें जिसे आप चाहते हैं। उदाहरण के लिए:
C:\Python2.5\Python.exe
खिड़कियों पर अजगर 2.5 के लिए और
C:\Python2.6\Python.exe
खिड़कियों पर पायथन 2.6 के लिए, या
/usr/local/bin/python-2.5
या
/usr/local/bin/python-2.6
पर विंडोज यूनिक्स (लिनक्स और ओएस एक्स सहित)।
जब आप यूनिक्स (लिनक्स और ओएस एक्स सहित) पर python
स्थापित होते हैं, तो आपको एक सामान्य कमांड स्थापित होगा, जो आपके द्वारा इंस्टॉल किया गया आखिरी होगा। यह ज्यादातर एक समस्या नहीं है क्योंकि अधिकांश लिपियाँ स्पष्ट रूप से /usr/local/bin/python2.5 या कुछ और कहेंगे ताकि उसके खिलाफ सुरक्षा हो सके। लेकिन अगर आप ऐसा नहीं करना चाहते हैं, और आप शायद इसे इस तरह से स्थापित नहीं कर सकते हैं:
./configure
make
sudo make altinstall
"Altinstall" पर ध्यान दें, इसका मतलब है कि यह इसे स्थापित करेगा, लेकिन यह कमांड को प्रतिस्थापित नहीं करेगा python
।
विंडोज पर आपको एक वैश्विक python
कमांड नहीं मिलती है जहां तक मुझे पता है कि यह एक मुद्दा नहीं है।
C:\Python2.5
या C:\Python2.6
निर्देशिका आपके PATH
पर्यावरण चर में दिखाई देती है , तो पायथन का संबंधित संस्करण डिफ़ॉल्ट हो जाएगा जब तक कि आप इसे स्पष्ट रूप से एक अलग पथ निर्दिष्ट नहीं करते हैं जो आप उपयोग करना चाहते हैं।
मैं पाइनेव-विन प्रोजेक्ट की जोरदार सिफारिश करता हूं ।
के लिए धन्यवाद kirankotari के काम, अब हम pyenv के एक Windows संस्करण है।
यहाँ एक त्वरित हैक है:
C:\Users\Your name
)name_of_your_shortcut.lnk
(मैं उपयोग करता हूं p27.lnk
)cp c: \ python27 \ bin \ python.exe python2.7.exe के रूप में
cp c: \ python34 \ bin \ python.exe python3.4.exe के रूप में
वे सभी सिस्टम पथ में हैं, उस संस्करण को चुनें जिसे आप चलाना चाहते हैं
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
विंडोज़ पर स्विच करने के लिए एक बैच फ़ाइल का उपयोग करना, आसान और कुशल। 7. मैं इसका उपयोग करता हूं:
पर्यावरण चर संवाद में (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe),
अनुभाग उपयोगकर्ता चर में
पथ के वातावरण चर में% pathpython% जोड़ा गया
अजगर पथ के किसी भी संदर्भ को हटा दिया
अनुभाग प्रणाली चर में
मैं हर अजगर स्थापना के लिए बैच फ़ाइलों को बनाया (3.4 x 64 के लिए छूट)
नाम = सेठपथप्योन 34x64 !!! ToExecuteAsAdmin.bat ;-) बस याद रखने के लिए।
फ़ाइल की सामग्री =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
संस्करणों के बीच स्विच करने के लिए, मैं बैच फ़ाइल को व्यवस्थापक मोड में निष्पादित करता हूं।
!!!!! परिवर्तन SUBSEQUENT कमांड प्रॉम्प्ट विंडो OPENED के लिए प्रभावी हैं। !!!
इसलिए मेरा उस पर सटीक नियंत्रण है।
खिड़कियों पर अजगर के कई संस्करणों को चलाने का सबसे आसान तरीका नीचे वर्णित है: -
1) अपने सिस्टम के लिए प्रासंगिक संस्करण का चयन करके python.org/downloads से अजगर के नवीनतम संस्करण डाउनलोड करें ।
2) इंस्टॉलर को चलाएं और python 3 में स्वचालित रूप से पथ सेट करने के लिए पथ में python 3.x जोड़ें (आपको बस चेकबॉक्स पर क्लिक करना होगा)। अजगर 2 के लिए अपने अजगर 2 इंस्टॉलर को खोलें, जो भी प्राथमिकताएं आप चाहते हैं उसका चयन करें लेकिन स्थानीय हार्ड ड्राइव पर स्थापित करने के लिए पथ में जोड़ें python.exe को सेट करने के लिए याद रखें , अब बस अगला क्लिक करें और इंस्टॉलर के समाप्त होने की प्रतीक्षा करें।
3) जब दोनों स्थापनाएं पूरी हो जाती हैं। मेरे कंप्यूटर पर राइट क्लिक करें - गुणों पर जाएं - उन्नत सिस्टम सेटिंग्स का चयन करें - पर्यावरण चर पर जाएं - सिस्टम चर के तहत नए पर क्लिक करें और PY_PYTHON के रूप में चर नाम के साथ एक नया सिस्टम चर जोड़ें और इस चर मान को 3 पर सेट करें । अब OK पर क्लिक करें और आपको किया जाना चाहिए।
4) अब यह परीक्षण करने के लिए कमांड प्रॉम्प्ट खोलें । एक बार जब आप वहाँ प्रकार में हैं अजगर या py , यह खुल चाहिए python3 ।
5) अब बाहर निकलें () टाइप करके python3 से बाहर निकलें । अब py -2 टाइप करें इसे python 2 खोलना चाहिए।
यदि इनमें से कोई भी काम नहीं करता है तो कंप्यूटर को पुनरारंभ करें और यदि समस्या अभी भी बनी हुई है तो सब कुछ अनइंस्टॉल करें और चरणों को दोहराएं।
धन्यवाद।
आप एनाकोंडा नेविगेटर से अलग-अलग अजगर विकास वातावरण बना सकते हैं। मुझे विभिन्न अजगर संस्करणों के साथ काम करते समय एक ही समस्या थी इसलिए मैंने विभिन्न अजगर विकास वातावरण बनाने के लिए एनाकोंडा नेविगेटर का उपयोग किया और प्रत्येक वातावरण में विभिन्न अजगर संस्करणों का उपयोग किया।
इसके लिए सहायता दस्तावेज यहां दिया गया है।
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
रैपिड एनवायरनमेंट एडिटर का उपयोग करके आप इच्छित पायथन इंस्टॉलेशन की निर्देशिका को शीर्ष पर धकेल सकते हैं। उदाहरण के लिए, c: \ Python27 निर्देशिका से अजगर को शुरू करने के लिए, यह सुनिश्चित करें कि पथ पर्यावरण चर में c: \ Python36 निर्देशिका के पहले या ऊपर c: \ Python27 निर्देशिका है। मेरे अनुभव से, पथ पर्यावरण में पाए जाने वाले पहले अजगर को निष्पादित किया जा रहा है। उदाहरण के लिए, मेरे पास Pyyson27 के साथ MSYS2 स्थापित है और जब से मैंने C: \ MSYS2 को C: \ Python36 से पहले पथ में जोड़ा है, C: \ MSYS2 से python.exe .... फ़ोल्डर निष्पादित किया जा रहा है।
बस सही निष्पादन योग्य कहते हैं
python
खोल में प्रवेश करने की कोशिश करो python2.5
या python2.6
। मैं एक विंडोज़ उपयोगकर्ता नहीं हूं, लेकिन यूनिक्स / यूएसआर / बिन / अजगर पर आमतौर पर पूरी तरह से योग्य निष्पादन योग्य के लिए एक उपनाम है, मैं मान रहा हूं कि खिड़कियों में अजगर एक समान तरीके से स्थापित है