MyTetra Share
Делитесь знаниями!
Решение проблемы с версией Python в скриптах сборки
Время создания: 23.02.2017 21:26
Раздел: Linux
Запись: manakaden/mytetra/master/base/1487874364lxvcouadn0/text.html на raw.githubusercontent.com

Сборочные скрипты многих проектов предполагают, что python обращается к Python 2, и в конце концов это может привести к ошибке, обычно гласящей, что print 'foo' - неправильный синтаксис. К счастью, многие из них вызывают python через переменную $PATH, а не содержат в себе жестко прописанный #!/usr/bin/python. Благодаря этому, вместо редактирования установочных скриптов, вы можете создать файл /usr/local/bin/python с содержимым наподобие этого:

/usr/local/bin/python
#!/bin/bash
script=$(readlink -f -- "$1")
case "$script" in (/path/to/project1/*|/path/to/project2/*|/path/to/project3*)
    exec python2 "$@"
    ;;
esac

exec python3 "$@"

Где /path/to/project1/*|/path/to/project2/*|/path/to/project3* - список шаблонов, разделенных символом | и соответствующих всем веткам проекта.

Не забудьте сделать файл исполняемым:

# chmod +x /usr/local/bin/python

После этого соответствующие скрипты будут запускаться через Python 2.

 
MyTetra Share v.0.59
Яндекс индекс цитирования