$ python 2.7和python 3.2的PYTHONSTARTUP

问题描述:

我终于开始在Linux上使用python 3和python 2.7了。

我使用由$ PYTHONSTARTUP定义的启动脚本来设置我的python shell。 由于不兼容,我无法为两个版本使用相同的脚本。

什么是最简单的方法来获得一个脚本的python 2.7,而另一个python 3.2?

如果您对某些项目使用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

设置你的$ 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 

定义一个p的别名ython版本。在别名中,根据Python版本重置PYTHONSTARTUP:

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