$ PYTHONSTARTUP с python 2.7 и python 3.2 - PullRequest
       26

$ PYTHONSTARTUP с python 2.7 и python 3.2

12 голосов
/ 08 сентября 2011

Я наконец начал использовать Python 3 вместе с Python 2.7 в Linux.

Я установил свою оболочку python, используя скрипт запуска, определенный $ PYTHONSTARTUP. Из-за несовместимости я не могу использовать один и тот же скрипт для обеих версий.

Какой самый простой способ получить один скрипт для python 2.7, а другой для python 3.2?

Ответы [ 3 ]

13 голосов
/ 08 сентября 2011

Если вы используете Python 2 для одних проектов и Python 3 для других, измените переменную среды при изменении проектов.

Или ваш сценарий запуска должен выглядеть следующим образом:

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

и разделите ваш реальный код запуска на startup2.py и startup3.py

7 голосов
/ 08 сентября 2011

Установите $ 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
1 голос
/ 08 сентября 2011

Определите псевдоним для одной из версий Python. В псевдониме сбросьте PYTHONSTARTUP в соответствии с версией Python:

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