$ PYTHONSTARTUP与python 2.7和python 3.2

时间:2011-09-08 11:00:13

标签: python python-3.x startupscript

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

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

为python 2.7获取一个脚本的最简单方法是什么,另一个用于python 3.2的脚本是什么?

3 个答案:

答案 0 :(得分:13)

如果您将Python 2用于某些项目而将Python 3用于其他项目,则在更改项目时更改环境变量。

或者,让你的启动脚本看起来像这样:

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

并将您的真实启动代码拆分为startup2.pystartup3.py

答案 1 :(得分:7)

将$ PYTHONSTARTUP设置为指向这样的脚本,该脚本检查正在使用的Python版本,然后委托给另一个启动脚本:

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

答案 2 :(得分:1)

为其中一个python版本定义别名。在别名中,根据该python版本重置PYTHONSTARTUP:

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