В настоящее время я пытаюсь запустить собственный код "маршала" для python, поэтому я могу хранить скомпилированный код на Python в Google App Engine для динамического использования сценариев. Как вы все можете проверить, "маршал" не поддерживается в GAE, а "pickle" не может сериализовать объекты кода.
Я выяснил, что могу построить объект кода с types.CodeType()
, но он ожидает 12 аргументов.
Насколько я пробовал, я не могу найти документацию по этому вызову, и мне действительно нужно построить объект кода, чтобы я мог exec()
его. Мой вопрос: Кто-нибудь знает, какие параметры для этого конструктора types.CodeType()
"или каким-либо способом его интроспекции? Я использовал функцию info()
, определенную здесь, но он выплевывает только общую информацию!
Быстрый FAQ:
- В: Зачем компилировать код?
- A: Время процессора стоит реальных денег на Google App Engine, и каждый бит циклов процессора я могу сэкономить.
- В: Почему бы не использовать "маршал"?
- A: Это один из неподдерживаемых модулей в Google App Engine.
- В: Почему бы не использовать "рассол"?
- A: Pickle не поддерживает сериализацию объектов кода.
UPDATE
Инфраструктура Google App Engine не позволяет создавать объекты кода с 7 июля 2011 года, поэтому мой аргумент здесь спорный. Надеюсь, что это будет исправлено в будущем на GAE.