问题
I finally started using python 3 alongside python 2.7 on Linux.
I setup my python shell using a startup-script defined by $PYTHONSTARTUP. Due to incompatibilities I am unable to use the same script for both versions.
What is the easiest way to get one script for python 2.7, and another for python 3.2?
回答1:
If you use Python 2 for some projects and Python 3 for others, then change the environment variable when you change projects.
Or, have your startup script look like this:
import sys
if sys.version_info[0] == 2:
import startup2
else:
import startup3
and split your real startup code into startup2.py
and startup3.py
回答2:
Set your $PYTHONSTARTUP to point to a script like this, which checks the version of Python being used, and then delegates to another startup script:
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
回答3:
Define an alias for one of the python versions. In the alias, reset PYTHONSTARTUP as appropriate for that python version:
alias py3='PYTHONSTARTUP=/path/to/startup.py /other/path/to/python3.2'
来源:https://stackoverflow.com/questions/7346984/pythonstartup-with-python-2-7-and-python-3-2