Есть ли способ заставить декораторы класса работать на Google App Engine , который ограничен Python 2.5
?
Или позвольте мне перефразировать это: возможно ли изменить поведение анализатора Python из того же процесса, который он уже выполняет? Пример:
good.py:
alter_python_parser()
import bad
bad.py:
@decorated
class Foo(object): pass
Или это просто невозможно.
Объяснение: Я хочу использовать стороннюю библиотеку, которая интенсивно использует декораторы классов, и не хочу ее разветвлять и поддерживать свою собственную версию. В качестве альтернативы можно было бы запустить мой код на Typhoon App Engine
с более новым Python, но я боюсь, что Google не будет обновлять их версию Python в течение долгого времени ...
EDIT:
Как насчет создания хука импорта в новом стиле , который бы выполнял подстановку строк на лету и загружал модуль из памяти? Это должно быть возможно. Я попробую, если уже нет реализации.
Но как мне разобрать Python 2.6+
код с Python 2.5
? Есть ли парсер только для Python? Что PYPY
использует?