在python 2.7和python 3.2中使用$PYTHONSTARTUP
我终于开始在Linux上同时使用Python 3和Python 2.7了。
我通过一个由$PYTHONSTARTUP定义的启动脚本来设置我的Python环境。不过因为两者之间不兼容,我不能用同一个脚本来同时支持这两个版本。
有没有简单的方法,让我为Python 2.7和Python 3.2各写一个脚本呢?
3 个回答
2
为某个特定的Python版本定义一个别名。在这个别名中,根据该Python版本的需要,重新设置PYTHONSTARTUP环境变量:
alias py3='PYTHONSTARTUP=/path/to/startup.py /other/path/to/python3.2'
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
14
如果你在一些项目中使用Python 2,而在其他项目中使用Python 3,那么在切换项目时就需要更改环境变量。
或者,你可以让你的启动脚本看起来像这样:
import sys
if sys.version_info[0] == 2:
import startup2
else:
import startup3
然后把你的实际启动代码分成两个文件,分别是 startup2.py
和 startup3.py