2011-09-08 22 views
12

के साथ PYTHONSTARTUP मैंने आखिरकार लिनक्स पर पायथन 2.7 के साथ पायथन 3 का उपयोग शुरू किया।

मैंने $ PythonstARTUP द्वारा परिभाषित स्टार्टअप-स्क्रिप्ट का उपयोग करके अपना पायथन खोल सेट किया है। असंगतताओं के कारण मैं दोनों संस्करणों के लिए एक ही स्क्रिप्ट का उपयोग करने में असमर्थ हूं।

पायथन 2.7 के लिए एक स्क्रिप्ट प्राप्त करने का सबसे आसान तरीका क्या है, और दूसरा पाइथन 3.2 के लिए?

उत्तर

13

यदि आप कुछ परियोजनाओं के लिए पायथन 2 और दूसरों के लिए पायथन 3 का उपयोग करते हैं, तो जब आप परियोजनाओं को बदलते हैं तो पर्यावरण चर बदलें।

या, इस तरह अपने स्टार्टअप स्क्रिप्ट नजर है:

import sys 
if sys.version_info[0] == 2: 
    import startup2 
else: 
    import startup3 

और startup2.py और startup3.py

+0

मैं स्टार्टअप स्क्रिप्ट विकल्प के लिए चला गया, और अपने कोड में कुछ इसी तरह लिखा था। मैंने यह जवाब चुना क्योंकि यह इस समाधान का सुझाव देने वाला पहला व्यक्ति था। – mirk

+1

'विशेषता त्रुटि:' मॉड्यूल 'ऑब्जेक्ट में कोई विशेषता' versioninfo'' नहीं है। यह 'version_info' होना चाहिए। – 2rs2ts

7

इस तरह एक स्क्रिप्ट है, जो की जाँच करता है भेजने के लिए अपना $ PYTHONSTARTUP सेट में अपने वास्तविक स्टार्टअप कोड को विभाजित अजगर के संस्करण एक और स्टार्टअप स्क्रिप्ट के लिए इस्तेमाल किया जा रहा है, और उसके बाद प्रतिनिधियों:

import sys 
if sys.version_info[0]==2: 
    from startup2k import * 
elif sys.version_info[0]==3: 
    from startup3k import * 
else: 
    # logging.warn('Unsupported version of Python') 
    pass 
1

पी में से एक के लिए एक उपनाम परिभाषित करें ython संस्करण। उर्फ में, कि अजगर संस्करण के लिए उपयुक्त के रूप में PYTHONSTARTUP रीसेट:

alias py3='PYTHONSTARTUP=/path/to/startup.py /other/path/to/python3.2' 
संबंधित मुद्दे