दिलचस्प पोस्ट
कोणीय.लेखन बनाम दस्तावेज़.गेटएलेमेंटबिइआईडी या jQuery चयनकर्ता स्पिन (व्यस्त) नियंत्रण के साथ क्या मैं एक यूज़रस्क्रिप्ट चला रहा हूं? क्या एक खोल स्क्रिप्ट कॉलिंग शेल के पर्यावरण चर सेट कर सकता है? कंसोल अनुप्रयोग के लिए "बाहर निकलें" क्या ए (लॉग एन) जटिलता के लिए एक एल्गोरिथ्म का कारण होगा? ES6 में फ़ंक्शन पैरामीटर परिभाषाएं JSON ऑब्जेक्ट भेज रहा है और पार्सिंग ISO 8601- संगत स्ट्रिंग को java.util.Date में कनवर्ट करना अगले और पिछले दिन पीएचपी के साथ मिलें मैं दृश्य स्टूडियो में स्टैक ट्रेस कैसे खोजूं? आप ASP.Net MVC में उपयोगकर्ता ऑब्जेक्ट का UserID कैसे प्राप्त करते हैं? कैसे क्रोम में "संपत्ति परिवर्तन पर ब्रेक"? तंत्रिका नेटवर्क में पूर्वाग्रह की भूमिका PHP 7.2 में मैक्रिप को हटाने की तैयारी Const और पठनीय के बीच अंतर क्या है?

क्या मैं एक ही कंप्यूटर पर पायथन 3.x और 2.x को स्थापित कर सकता हूं?

मैं Windows चला रहा हूँ और शेल / ओएस स्वचालित रूप से चलाता है, जब आप कमांड लाइन पर एक प्रोग्राम चलाते हैं तो रजिस्ट्री सेटिंग्स पर आधारित अजगर चला जाता है। अगर मैं एक ही मशीन पर पायथन के 2.x और 3.x संस्करण को स्थापित करूँ तो क्या यह तोड़ सकता है?

मैं अजगर 3 के साथ खेलना चाहता हूं जबकि अभी भी एक ही मशीन पर 2.x स्क्रिप्ट चलाने में सक्षम है।

वेब के समाधान से एकत्रित समाधान "क्या मैं एक ही कंप्यूटर पर पायथन 3.x और 2.x को स्थापित कर सकता हूं?"

सह-अस्तित्व के लिए आधिकारिक समाधान विंडोज के लिए पायथन लॉन्चर लगता है, पीईपी 397 जो पायथन 3.3.0 में शामिल था। रिलीज़ डंप py.exe और pyw.exe लांचर को %SYSTEMROOT% ( C:\Windows ) में स्थापित कर रहा है जो कि क्रमशः py और pyw स्क्रिप्ट से जुड़ा हुआ है।

नए लांचर का उपयोग करने के लिए (इसे मैन्युअल रूप से अपनी स्वयं की एसोसिएशन सेट अप करने के बिना), "पंजीकृत एक्सटेंशन" विकल्प सक्षम करें छोड़ दें। मुझे पूरा यकीन है कि क्यों नहीं, लेकिन मेरे मशीन पर यह 2.7 को "डिफ़ॉल्ट" (लांचर के) के रूप में छोड़ दिया।

उन्हें लिखित स्क्रिप्ट को सीधे कमांड लाइन से कॉल करके उन्हें लांचर के माध्यम से ले जाएगा और शेबांग को पार्स करना होगा (यदि वह मौजूद है)। आप स्पष्ट रूप से लॉन्चर को कॉल कर सकते हैं और स्विचेस का उपयोग कर सकते हैं: py -3 mypy2script.py

सभी तरह के शेबांग काम करते हैं

  • #!C:\Python33\python.exe
  • #!python3
  • #!/usr/bin/env python3

साथ ही उदासीन गालियां

  • #! notepad.exe

आप दोनों स्थापित हो सकते हैं

आपको अपनी स्क्रिप्ट के सामने लिखना चाहिए:

 #!/bin/env python2.6 

या अंततः ..

 #!/bin/env python3.0 

अद्यतन करें

मेरा समाधान यूनिक्स के साथ पूरी तरह से काम करता है, Google पर त्वरित खोज के बाद, यह विंडोज़ समाधान है:

 #!c:/Python/python3_0.exe -u 

वही बात … अपनी स्क्रिप्ट के सामने

यहां मेरा सेटअप है:

  1. विंडोज इंस्टालर के साथ दोनों पायथन 2.7 और 3.4 स्थापित करें ।
  2. C:\Python34 (डिफ़ॉल्ट स्थापित पथ) पर जाएं और python3.exe पर python.exe को बदलें
  3. C:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\; को शामिल करने के लिए अपने वातावरण चर को संपादित करें C:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\;

अब कमांड लाइन में आप 2.7 के लिए python और 3.4 के लिए python3 उपयोग कर सकते हैं।

संस्करण 3.3 से अजगर ने विंडोज उपयोगिता के लिए लांचर की शुरुआत की है https://docs.python.org/3/using/windows.html#python-launcher-for-windows

तो पायथन के एकाधिक संस्करणों का उपयोग करने में सक्षम होने के लिए:

  1. Python 2.x स्थापित करें (x किसी भी संस्करण की आवश्यकता है जो आपको चाहिए)
  2. Python 3.x स्थापित करें (x किसी भी संस्करण की आवश्यकता है, आपको भी एक संस्करण 3.x> = 3.3 है)
  3. कमांड प्रॉम्प्ट खोलें
  4. Python 2.x को लॉन्च करने के लिए टाइप करें py -2.x
  5. पायथन 3.x को लॉन्च करने के लिए टाइप करें py -3.x

मैं शोर से 2.5, 2.6, और 3.0 का प्रयोग कर रहा हूँ, जिसमें एक पंक्ति बैच लिपियों के रूप में होता है:

 :: The @ symbol at the start turns off the prompt from displaying the command. :: The % represents an argument, while the * means all of them. @c:\programs\pythonX.Y\python.exe %* 

उन्हें pythonX.Y.bat नाम दें और उन्हें अपने पथ में कहीं न रखें। pythonX.bat को पसंदीदा लघु संस्करण (नवीनतम अर्थात्) के लिए फ़ाइल की प्रतिलिपि बनाएँ। (उदाहरण के लिए copy python2.6.bat python2.bat ।) तो आप कहीं से copy python2.6.bat python2.bat python2 file.py उपयोग कर सकते हैं

हालांकि, यह विंडोज फाइल एसोसिएशन की स्थिति को प्रभावित या इससे प्रभावित नहीं करता है। इसके लिए आपको एक लांचर प्रोग्राम की आवश्यकता होगी जो #! पढ़ता है #! रेखा, और उसके बाद कि .py और .pyw फ़ाइलों के साथ संबद्ध करें

हेयर यू गो…

winpylaunch.py

 # # Looks for a directive in the form: #! C:\Python30\python.exe # The directive must start with #! and contain ".exe". # This will be assumed to be the correct python interpreter to # use to run the script ON WINDOWS. If no interpreter is # found then the script will be run with 'python.exe'. # ie: whatever one is found on the path. # For example, in a script which is saved as utf-8 and which # runs on Linux and Windows and uses the Python 2.6 interpreter... # # #!/usr/bin/python # #!C:\Python26\python.exe # # -*- coding: utf-8 -*- # # When run on Linux, Linux uses the /usr/bin/python. When run # on Windows using winpylaunch.py it uses C:\Python26\python.exe. # # To set up the association add this to the registry... # # HKEY_CLASSES_ROOT\Python.File\shell\open\command # (Default) REG_SZ = "C:\Python30\python.exe" S:\usr\bin\winpylaunch.py "%1" %* # # NOTE: winpylaunch.py itself works with either 2.6 and 3.0. Once # this entry has been added python files can be run on the # commandline and the use of winpylaunch.py will be transparent. # import subprocess import sys USAGE = """ USAGE: winpylaunch.py <script.py> [arg1] [arg2...] """ if __name__ == "__main__": if len(sys.argv) > 1: script = sys.argv[1] args = sys.argv[2:] if script.endswith(".py"): interpreter = "python.exe" # Default to wherever it is found on the path. lines = open(script).readlines() for line in lines: if line.startswith("#!") and line.find(".exe") != -1: interpreter = line[2:].strip() break process = subprocess.Popen([interpreter] + [script] + args) process.wait() sys.exit() print(USAGE) 

मैंने इस धागा को पढ़ने पर इसे खटखटाया है (क्योंकि यह वही है जो मुझे भी ज़रूरत थी)। मेरे पास पायथन 2.6.1 और 3.0.1 दोनों उबंटू और विंडोज पर है अगर यह आपके लिए फिक्सेस पोस्ट करता है तो यह आपके लिए काम नहीं करता है

जहाँ तक मुझे पता है कि पाथथन एक रजिस्ट्री सेटिंग के विरोध में पाथ चर का उपयोग करते हुए कमांडलाइन के बंद हो जाता है।

इसलिए यदि आप अपने पाथ के सही संस्करण को इंगित करते हैं तो आप उसका उपयोग करेंगे। नई PATH सेटिंग्स का उपयोग करने के लिए अपना कमांड प्रॉम्प्ट को पुनरारंभ करना याद रखें

पायथन इंस्टॉलेशन सामान्यतः .py , .pyw और .pyc फ़ाइलों को पायथन इंटरप्रिटर के साथ .pyc । इसलिए आप एक्सप्लोरर में डबल क्लिक करके या कमांड लाइन विंडो में उसका नाम टाइप करके एक पायथन स्क्रिप्ट चला सकते हैं (ताकि python scriptname.py टाइप करने की कोई आवश्यकता नहीं है, बस scriptname.py होगा)।

यदि आप मैन्युअल रूप से इस सहयोग को बदलना चाहते हैं, तो आप Windows रजिस्ट्री में इन कुंजियों को संपादित कर सकते हैं:

 HKEY_CLASSES_ROOT\Python.File\shell\open\command HKEY_CLASSES_ROOT\Python.NoConFile\shell\open\command HKEY_CLASSES_ROOT\Python.CompiledFile\shell\open\command 

पायथन लॉन्चर

लोग विंडोज के लिए पायथन लॉन्चर पर काम कर रहे हैं: .py और .pyw फाइलों से जुड़े एक हल्के प्रोग्राम जो पहली पंक्ति पर "शेबांग" लाइन (लिनक्स एट अल के समान) की तलाश करेंगे, और पायथन 2.x या लॉन्च करेंगे 3.x के रूप में आवश्यक विवरण के लिए "Windows के लिए एक पायथन लॉन्चर" ब्लॉग पोस्ट देखें।

इससे पहले कि मैंने साहसपूर्वक दोनों को एक साथ स्थापित किया, मेरे पास बहुत सारे सवाल थे अगर मैं अजगर देता हूँ तो क्या यह py3 पर जाता है जब मैं py2 चाहता हूँ? पीआईपी / वर्चुअलयेन पीआई 2/3 के तहत क्या होगा?

यह अब बहुत आसान लगता है

बस आँख बंद करके दोनों को स्थापित करें सुनिश्चित करें कि आपको सही प्रकार (x64 / x32) मिले जबकि स्थापित करने के बाद / सुनिश्चित करें कि आप अपने परिवेश चर के पथ में जोड़ें

 [ENVIRONMENT]::SETENVIRONMENTVARIABLE("PATH", "$ENV:PATH;C:\PYTHONx", "USER") 

पथ को सेट करने के लिए ऊपर दिए गए आदेश में एक्स को बदलें।

फिर दोनों फ़ोल्डर्स पर जाएं।

पर जाए

 python3.6/Scripts/ 

और पीप से pip3 का नाम बदलें

अगर pip3 पहले से ही मौजूद है तो पीआईपी को हटा दें। यह सुनिश्चित करेगा कि python2 के तहत सिर्फ पीआईपी चलाएगा। आप निम्न द्वारा सत्यापित कर सकते हैं:

 pip --version 

यदि आप पायथन 3 के साथ पीईपी का उपयोग करना चाहते हैं तो बस का उपयोग करें

 pip3 install 

आप इसी तरह अजगर फ़ाइल और अन्य के समान कर सकते हैं।

चीयर्स!

एनाकोंडा का उपयोग करने का प्रयास करें

एनाकोंडा वातावरण की अवधारणा का प्रयोग करते हुए, मान लें कि आपको प्रोग्रामिंग जानने के लिए पायथन 3 की आवश्यकता है, लेकिन आप अजगर को अपडेट करके अपने पायथन 2.7 पर्यावरण को मिटा नहीं करना चाहते हैं। आप "सांप" नामक एक नया वातावरण बना सकते हैं और सक्रिय कर सकते हैं (या जो भी आप चाहते हैं), और पायथन 3 का नवीनतम संस्करण निम्नानुसार स्थापित करें:

 conda create --name snakes python=3 

इसकी तुलना में इसकी सरलता, यहां परिचय पृष्ठ पर एक नज़र डालें: एनाकोंडा परिचय

और फिर संस्करण 2.x और 3.x चलते हुए अपने विशिष्ट समस्या को संभालने के लिए, देखें: एनाकोंडा के साथ पायथन संस्करण प्रबंधित करना

मुझे लगता है कि इंस्टॉलर में .i फ़ाइलों के लिए विंडो फाइल एसोसिएशन को सेटअप करने का एक विकल्प है। इसे अनचेक करें और आपको ठीक होना चाहिए

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

आपको यह सुनिश्चित करना चाहिए कि PATH परिवेश चर में दोनों पायथन.एक्सए फ़ाइलें शामिल नहीं हैं (एक जो आप वर्तमान में दिन-प्रतिदिन लिपियों को चलाने के लिए उपयोग कर रहे हैं), या जैसा कि बैच फ़ाइलों के साथ निहट ने सुझाव दिया है। इसके अलावा, मुझे नहीं पता कि क्यों नहीं।

पुनश्च: मेरे "प्राथमिक" अजगर और 3.0 के रूप में मेरे "प्ले" अजगर के रूप में मेरे पास 2.6 स्थापित है। 2.6 को पाथ में शामिल किया गया है। सब कुछ ठीक काम करता है

यहां एक ही मशीन पर अजगर 2 और 3 चलाने के तरीके हैं

  1. पायथन 2.x स्थापित करें
  2. पायथन 3.x स्थापित करें
  3. पॉवरहेल शुरू करें
  4. अजगर -2 टाइप करें पायथन 2.x लॉन्च करें
  5. Python-3 को पायथन 2.x लॉन्च करने के लिए टाइप करें

Windows के लिए पायथन लॉन्चर 3.1 संस्करण के बाद से पायथन में एम्बेड किया गया था, जैसा कि 2011 में वादा किया गया था जब स्टैंड अकेले पहली बार अपनी पहली फिल्म बन गई:

विंडोज के लिए पायथन लॉन्चर

मुझे ऐसा लगता होगा, मेरे पास उसी कंप्यूटर पर पायथन 2.4, 2.5 और 2.6 की साइड-बाय-साइड स्थापित है।

मैं अभी अजगर के साथ शुरू कर रहा हूँ मैं जेड शॉ की किताब "जानें पायथन द हार्ड वे" पढ़ रहा हूं जिसके लिए अजगर संस्करण 2.x की आवश्यकता है, लेकिन मैं अजगर 3.x की आवश्यकता वाले क्लास को भी ले रहा हूं

तो मैंने यह किया।

  1. अजगर 2.7 डाउनलोड करें
  2. बिजली शेल चलाने (पहले से ही खिड़कियों पर स्थापित किया जाना चाहिए)
  3. पॉवरशेल में अजगर चलाएं (यदि उसे पहचान नहीं है तो चरण 4 पर जाएं)
  4. केवल तभी पावरशेल अजगर 2.7 प्रकार को निम्न में नहीं पहचानता है :

"[पर्यावरण] :: SETENVIRONMENTVARIABLE (" पथ "," $ ENV: PATH; C: \ PYTHON27 "," USER ")" (कोई बाहरी उद्धरण नहीं)

  1. अब अजगर टाइप करें और आपको इसे अजगर 2.7 ब्ला ब्ला ब्ला कहना चाहिए

अजगर 3.x के लिए अभी

सरल, अजगर 3.x डाउनलोड के साथ अजगर के लिए आता है। तो बस अपने ऐप्प पर विंडोज ऐप के लिए पायथन को पिन करें, या डेस्कटॉप पर शॉर्टकट बनाएं और आपका काम हो गया!

3.x के लिए विंडोज के लिए अजगर खोलें

अजगर 2.x के लिए ओपन पॉवरहेल

आशा है कि ये आपकी मदद करेगा!

जब आप दोनों envirement चर में जोड़ते हैं, तो एक संघर्ष होगा क्योंकि दो निष्पादन योग्य का एक ही नाम है: python.exe

बस मेरे मामले में से एक का नाम बदलकर इसे python3.exe बदल दिया गया

इसलिए जब मैं अजगर चलाता हूँ तो यह अजगर 2.x को अंजाम देगा और जब मैं अजगर 3 चलाऊँगा तो यह python3.exe चुड़ैल को निष्पादित करेगा 3.6

यहां छवि विवरण दर्ज करें

नोट करें कि टिप स्क्रिप्ट के साथ डन होना चाहिए।