2011-09-08 95 views
12

我終於開始在Linux上使用python 3和python 2.7了。

我使用由$ PYTHONSTARTUP定義的啓動腳本來設置我的python shell。 由於不兼容,我無法爲兩個版本使用相同的腳本。

什麼是最簡單的方法來獲得一個腳本的python 2.7,而另一個python 3.2?

回答

13

如果您對某些項目使用Python 2,對其他項目使用Python 3,則在更改項目時更改環境變量。

或者,有你的啓動腳本是這樣的:

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

,並分割你的真正的啓動代碼爲startup2.pystartup3.py

+0

我去了startup-script選項,並寫了類似於您的代碼的東西。我選擇了這個答案,因爲它是第一個提出這個解決方案的人。 – mirk

+1

'AttributeError:'模塊'對象沒有屬性'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

定義一個p的別名ython版本。在別名中,根據Python版本重置PYTHONSTARTUP:

alias py3='PYTHONSTARTUP=/path/to/startup.py /other/path/to/python3.2'