2011-09-08 16 views
12

Finalmente comencé a usar python 3 junto con python 2.7 en Linux.

Configuro mi shell python usando un script de inicio definido por $ PYTHONSTARTUP. Debido a incompatibilidades, no puedo usar el mismo script para ambas versiones.

¿Cuál es la forma más fácil de obtener un script para python 2.7 y otro para python 3.2?

Respuesta

13

Si usa Python 2 para algunos proyectos y Python 3 para otros, cambie la variable de entorno cuando cambie proyectos.

O, haga que su mirada script de inicio de la siguiente manera:

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

y dividir su código de inicio real de startup2.py y startup3.py

+0

Fui por la opción de script de inicio y escribí algo similar a su código. Escogí esta respuesta porque fue la primera en sugerir esta solución. – mirk

+1

'AttributeError: el objeto 'module' no tiene ningún atributo 'versioninfo''. Se supone que es 'version_info'. – 2rs2ts

7

Fije su $ PYTHONSTARTUP para apuntar a un script como el siguiente, que comprueba el versión de Python que se utiliza, y luego los delegados a otro script de inicio:

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 
1

definir un alias para una de las p Versiones de ython En el alias, restablezca PYTHONSTARTUP según corresponda para esa versión de python:

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