2013-02-27 3 views

ответ

3

Пытались ли вы в shebang линию?

Например:

#!/path/to/2.7/python 

Ничто не мешает вам ссылаться на 2.7 переводчика либо:

./path/to/2.7/python python_projects 

Вы можете сделать Баш псевдоним:

alias py27=/path/to/2.7/python 

вуаля

py27 python_projects 

Читательский дайджест: множество решений.

+1

Псевдоним - это способ пойти IMHO, но вы также можете просто убедиться, что местоположение исполняемого файла python2.7 находится до исполняемого файла python3.x. Это также сработает. – reptilicus

+1

, возможно, помещает псевдоним в .bash_profile, поэтому вам не придется переделывать его каждый раз. – ryrich

1

Если у вас есть и Python 2.7 и Python 3.something установлен таким образом, по умолчанию, следующее должно быть истинным:

  • python3 всегда работает ваш лучший вариант 3.x
  • ЯВНО:
    • python работает наилучшим образом 2.x версия, OR
    • python работает так же, как python3, но python2 работает наилучшим образом 2.x версия

Таким образом, вы всегда можете использовать python2, если она существует, python, если нет.

В дополнение:

  • python2.7 всегда работает ваш лучший вариант 2.7.x.

Итак, вы можете просто использовать это.

Если python2.7, python2, и даже python не на вашем PATH, или вы сделали какие-то странные установки, нарушающего ожидаемые правила (или ваш дистрибутив делает это для вас), вы всегда можете указать Python на полный путь. Вместо, скажем, /usr/bin/env python или /usr/local/bin/python или что бы вы ни использовали, используйте /opt/local/python2.7/bin/python или где бы вы его не установили.

1

Предполагая, что вы находитесь в окне linux, вы можете добавить что-то вроде этого в ваш .zshrc/.bashrc файл для swtich между различными версиями python.

py25() { 
    rm -rf ~/.ipython 
    alias ipython="/usr/local/bin/ipython-2.5" 
    alias pip="/usr/local/bin/pip-2.5" 
    alias python="/usr/local/bin/python-2.5" 
} 

py27() { 
    rm -rf ~/.ipython 
    alias ipython="/usr/local/bin/ipython-2.7" 
    alias pip="/usr/local/bin/pip-2.7" 
    alias python="/usr/local/bin/python-2.7" 
} 
py33() { 
    rm -rf ~/.ipython 
    alias ipython="/usr/local/bin/ipython-3.3" 
    alias pip="/usr/local/bin/pip-3.3" 
    alias python="/usr/local/bin/python-3.3" 
} 

, то вы можете просто вызвать их на CMD линии, как py25 или py27 или py33. Это также заботится о pip и iPython в одно и то же время.

Смежные вопросы