$ 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.py
和startup3.py
答
设置你的$ 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'
我去了startup-script选项,并写了类似于您的代码的东西。我选择了这个答案,因为它是第一个提出这个解决方案的人。 – mirk
'AttributeError:'模块'对象没有属性'versioninfo''。它应该是'version_info'。 – 2rs2ts