Именование для установки Python в Unix и правильное использование shebang

Я запутался в стандартном способе написания шебанга для скрипта Python.

У меня есть простая ссылка «python», которая в зависимости от системы может быть либо Python 2.x, либо Python 3.x, и это проблема, поскольку оба они несовместимы.

В качестве решения я пишу версию в свой шебанг и получаю что-то вроде:

#!/bin/env python3.2

Но это кажется глупым, потому что мой скрипт не будет работать в любой другой версии 3.x

. Я заметил, что некоторые системы имеют python2, связанный с последней версией. Это помогает, так как таким образом я мог писать простые сценарии, такие как «Hello World», которые не будут ломаться с каждым выпуском.

Я установил Python 2.6, 2.7, 3.1 и 3.2. Использование только «python» для shebang не имеет смысла с точки зрения переносимости. Использование точной версии затрудняет ремонтопригодность. У меня есть ссылка на python2, но не на python3

Существует ли какой-либо стандарт и/или PEP, определяющий, как следует устанавливать Python? И тот, который говорит, что я развертываю, должен иметь python3 и/или python2, связанный с последней версией?

8
задан SystematicFrank 25 November 2013 в 21:48
поделиться