Положите случай, что у меня есть куча скриптов python, начинающихся либо с #!/usr/bin/env python
, либо с ничего (без shebang вообще). Некоторым из этих сценариев нужен python 2.7
(или любая версия 2.x
), некоторым из них нужен python 3.x
, и некоторые из них могут работать на обоих (они сами проверяют версию python).Как проверить, какая версия python должна использовать
Я нахожусь в системе с двумя версиями python: python2
и python3
. Общая программа python
- это просто символическая ссылка.
Как эта python
ссылка может меняться. Я хочу отредактировать shebangs в скриптах, чтобы указать, должен ли этот скрипт использовать python2
или python3
. Есть ли возможность/программа/сценарий для «разбора» сценария python и определения, должен ли он запускаться python2
или python3
?
Вы пытались запустить '2to3' на скриптах, чтобы узнать, найдет ли что-нибудь? Яркими признаками могут быть использование 'print x' вместо' print (x) '. Существуют и другие разрывы между py2 и py3. Если '2to3' ни о чем не жалуется, он написан для python3. – kdopen
@kdopen Является ли 2to3 официальным инструментом? Или это внешняя программа? – Uroc327
Должен быть установлен как часть вашего дистрибутива python. Но это всего лишь приблизительное руководство. Действительно, вам нужно подробно изучить сценарий, ища вещи, которые дают понять, для какой версии они пишут. – kdopen