2013-03-06 3 views
0

У меня есть вызов импортировать модуль ast (абстрактное синтаксическое дерево) в приложении appengine. На моей локальной машине разработки все работает нормально, но после того, как я развернул приложение для производственного приложения, я получаю следующую ошибку;Как импортировать модуль ast в google appengine

<type 'exceptions.ImportError'>: No module named ast 
Traceback (most recent call last): 
    File "/base/data/home/apps/s~appname/1.365758902437943607/main.py", line 3, in <module> 
    import ast 

Поддерживает ли Google appengine поддержку модуля ast?

Gath

+0

'ast' был представлен в Python 2.6 (' _ast' в Python 2.5). Проверьте свою версию Python, чтобы узнать, не ли это 2.6. – dmg

+0

На моей машине dev, использующей 2.6 и 2.7. – gath

+1

В этом случае ваша локальная машина не имеет значения. Вы должны проверить версию GAE Python. Поскольку я почти уверен, что это будет 2.5, вы можете также взглянуть на [это руководство по миграции] (https://developers.google.com/appengine/docs/python/python25/migrate27) – dmg

ответ

3

Модуль ast был введен в Python 2.6 (это нижний уровень аналог _ast в Python 2.5 Несмотря на то, что Python 2.6+ на вашей машине для разработчиков не имеет значения, это не имеет значения для вашей производственной среды GAE. Посмотрите на this migration guide, чтобы перенести среду GAE с Python 2.5 к Python 2.7.

0

Проверьте версию питона на хосте развертывания

python -V 

ISTR аст не в питона 2,5

+0

на моем локальном сервере dev, использующем 2.6 и 2.7 – gath

+1

, не имеет значения, что вы используете на своем локальном сервере dev. –

+0

@Paul C - вы правы, работали 2,5 на производстве, перенося мое приложение на 2.7, спасибо. – gath

Смежные вопросы