Как исправить флаги shebang, которые не распознаются в некоторых системах

Почему-то флаг -O (optimized) не распознается в строке shebang на Red Hat Enterprise Server (выпуск 5.3), к которому я обращаюсь. В других системах флаг распознается без проблем.

Выполнение приведенного ниже сценария в OS X работает нормально. Распознавание флага -O можно проверить, потому что он включает (если отсутствует) или отключает (если задан) что-либо под условием if __debug __ :

#!/usr/bin/env python -O                                                                                                                                                                       

if __name__ == '__main__':

    if __debug__:
        print 'lots of debugging output on'

    print 'Fin'

Выполнение того же сценария на Результат системы RHE:

/ usr / bin / env: python -O: нет такого файла или каталог

Без флага -O скрипт нормально выполняется в системе RHE (т. е. для встроенной переменной __ debug __ будет установлено значение True ]).

Есть ли кроссплатформенный способ решить эту проблему? Есть ли вообще способ решить проблему с флагами в строке shebang интерпретатора Python?

Изменить: Любые другие обходные пути для установки переменной __ debug __ (без использования флагов shebang ) для интерпретатора также было бы интересно.

8
задан jakub.g 1 February 2015 в 11:14
поделиться