$PYTHONSTARTUP在Python 2.7和Python 3.2中的应用

13

我终于开始在Linux上同时使用Python 3和Python 2.7。

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

最简单的方法是如何获取Python 2.7的一个脚本,以及另一个适用于Python 3.2的脚本?

3个回答

14

如果你在一些项目中使用Python 2,而在另一些项目中使用Python 3,则需要在更改项目时更改环境变量。

或者,让你的启动脚本如下:

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

并将你的真正启动代码拆分为startup2.pystartup3.py


我选择了启动脚本选项,并编写了与您代码类似的东西。我选择此答案,因为它是首个提出此解决方案的答案。 - mirk
1
属性错误:'module'对象没有属性'versioninfo'。应该是'version_info'。 - 2rs2ts

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接